77
|
1 %!PS-Adobe-3.0 EPSF-3.0
|
|
2 %%HiResBoundingBox: 0.000000 0.000000 460.000000 307.000000
|
|
3 %APL_DSC_Encoding: UTF8
|
|
4 %APLProducer: (Version 10.14.2 (Build 18C54) Quartz PS Context)
|
|
5 %%Title: (Unknown)
|
|
6 %%Creator: (Unknown)
|
|
7 %%CreationDate: (Unknown)
|
|
8 %%For: (Unknown)
|
|
9 %%DocumentData: Clean7Bit
|
|
10 %%LanguageLevel: 2
|
|
11 %%Pages: 1
|
|
12 %%BoundingBox: 0 0 460 307
|
|
13 %%EndComments
|
|
14 %%BeginProlog
|
|
15 %%BeginFile: cg-pdf.ps
|
|
16 %%Copyright: Copyright 2000-2004 Apple Computer Incorporated.
|
|
17 %%Copyright: All Rights Reserved.
|
|
18 currentpacking true setpacking
|
|
19 /cg_md 141 dict def
|
|
20 cg_md begin
|
|
21 /L3? languagelevel 3 ge def
|
|
22 /bd{bind def}bind def
|
|
23 /ld{load def}bd
|
|
24 /xs{exch store}bd
|
|
25 /xd{exch def}bd
|
|
26 /cmmtx matrix def
|
|
27 mark
|
|
28 /sc/setcolor
|
|
29 /scs/setcolorspace
|
|
30 /dr/defineresource
|
|
31 /fr/findresource
|
|
32 /T/true
|
|
33 /F/false
|
|
34 /d/setdash
|
|
35 /w/setlinewidth
|
|
36 /J/setlinecap
|
|
37 /j/setlinejoin
|
|
38 /M/setmiterlimit
|
|
39 /i/setflat
|
|
40 /rc/rectclip
|
|
41 /rf/rectfill
|
|
42 /rs/rectstroke
|
|
43 /f/fill
|
|
44 /f*/eofill
|
|
45 /sf/selectfont
|
|
46 /s/show
|
|
47 %/as/ashow
|
|
48 /xS/xshow
|
|
49 /yS/yshow
|
|
50 /xyS/xyshow
|
|
51 /S/stroke
|
|
52 /m/moveto
|
|
53 /l/lineto
|
|
54 /c/curveto
|
|
55 /h/closepath
|
|
56 /n/newpath
|
|
57 /q/gsave
|
|
58 /Q/grestore
|
|
59 counttomark 2 idiv
|
|
60 %dup (number of ld's = )print == flush % *** how many
|
|
61 {ld}repeat pop
|
|
62 /SC{ % CSname
|
|
63 /ColorSpace fr scs
|
|
64 }bd
|
|
65 /sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld
|
|
66 /soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld
|
|
67 /cgmtx matrix def
|
|
68 /sdmtx{cgmtx currentmatrix pop}bd
|
|
69 /CM {cgmtx setmatrix}bd % pop the ctm: our gstate ctm on host is now identity
|
|
70 /cm {cmmtx astore CM concat}bd % reset the matrix and then concat
|
|
71 /W{clip newpath}bd
|
|
72 /W*{eoclip newpath}bd
|
|
73
|
|
74 statusdict begin product end dup (HP) anchorsearch{
|
|
75 pop pop pop % pop off the search results
|
|
76 true
|
|
77 }{
|
|
78 pop % previous search result
|
|
79 (hp) anchorsearch{
|
|
80 pop pop true
|
|
81 }{
|
|
82 pop false
|
|
83 }ifelse
|
|
84 }ifelse
|
|
85
|
|
86 { % HP is the product: we use this method of stroking because of a bug in their clone printers with certain T3 fonts
|
|
87 {
|
|
88 { % charCode Wx Wy
|
|
89 pop pop % charCode
|
|
90 (0)dup 0 4 -1 roll put
|
|
91 F charpath
|
|
92 }cshow
|
|
93 }
|
|
94 }{
|
|
95 {F charpath}
|
|
96 }ifelse
|
|
97 /cply exch bd
|
|
98 /cps {cply stroke}bd
|
|
99 /pgsave 0 def
|
|
100 /bp{/pgsave save store}bd
|
|
101 /ep{pgsave restore showpage}def % dont' bind
|
|
102 /re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd
|
|
103
|
|
104 /scrdict 10 dict def
|
|
105 /scrmtx matrix def
|
|
106 /patarray 0 def
|
|
107 /createpat{patarray 3 1 roll put}bd
|
|
108 /makepat{
|
|
109 scrmtx astore pop
|
|
110 gsave
|
|
111 initgraphics
|
|
112 CM
|
|
113 patarray exch get
|
|
114 scrmtx
|
|
115 makepattern
|
|
116 grestore
|
|
117 setpattern
|
|
118 }bd
|
|
119
|
|
120 /cg_BeginEPSF{
|
|
121 userdict save/cg_b4_Inc_state exch put
|
|
122 userdict/cg_endepsf/cg_EndEPSF load put
|
|
123 count userdict/cg_op_count 3 -1 roll put
|
|
124 countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put
|
|
125 3 sub{end}repeat
|
|
126 /showpage {} def
|
|
127 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin
|
|
128 10 setmiterlimit [] 0 setdash newpath
|
|
129 false setstrokeadjust false setoverprint % don't use F
|
|
130 }bd
|
|
131 /cg_EndEPSF{
|
|
132 countdictstack 3 sub { end } repeat
|
|
133 cg_dict_array 3 1 index length 3 sub getinterval
|
|
134 {begin}forall
|
|
135 count userdict/cg_op_count get sub{pop}repeat
|
|
136 userdict/cg_b4_Inc_state get restore
|
|
137 F setpacking
|
|
138 }bd
|
|
139
|
|
140 /cg_biproc{currentfile/RunLengthDecode filter}bd
|
|
141 /cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd
|
|
142 /ImageDataSource 0 def
|
|
143 L3?{
|
|
144 /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd
|
|
145 /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd
|
|
146 }{
|
|
147 /ImageBandMask 0 def
|
|
148 /ImageBandData 0 def
|
|
149 /cg_mibiproc{
|
|
150 string/ImageBandMask xs
|
|
151 string/ImageBandData xs
|
|
152 /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx
|
|
153 /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
|
|
154 }bd
|
|
155 /cg_miaiproc{
|
|
156 string/ImageBandMask xs
|
|
157 string/ImageBandData xs
|
|
158 /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter
|
|
159 dup ImageBandMask/readstring cvx
|
|
160 /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
|
|
161 }bd
|
|
162 }ifelse
|
|
163 /imsave 0 def
|
|
164 /BI{save/imsave xd mark}bd
|
|
165 /EI{imsave restore}bd
|
|
166 /ID{
|
|
167 counttomark 2 idiv
|
|
168 dup 2 add % leave room for imagetype and imagematrix
|
|
169 dict begin
|
|
170 {def} repeat
|
|
171 pop % remove mark
|
|
172 /ImageType 1 def
|
|
173 /ImageMatrix[Width 0 0 Height neg 0 Height]def
|
|
174 currentdict dup/ImageMask known{ImageMask}{F}ifelse exch
|
|
175 % currentdict on stack
|
|
176 L3?{
|
|
177 dup/MaskedImage known
|
|
178 {
|
|
179 pop
|
|
180 <<
|
|
181 /ImageType 3
|
|
182 /InterleaveType 2
|
|
183 /DataDict currentdict
|
|
184 /MaskDict
|
|
185 << /ImageType 1
|
|
186 /Width Width
|
|
187 /Height Height
|
|
188 /ImageMatrix ImageMatrix
|
|
189 /BitsPerComponent 1
|
|
190 /Decode [0 1]
|
|
191 currentdict/Interpolate known
|
|
192 {/Interpolate Interpolate}if
|
|
193 >>
|
|
194 >>
|
|
195 }if
|
|
196 }if
|
|
197 exch
|
|
198 {imagemask}{image}ifelse
|
|
199 end % pop imagedict from dict stack
|
|
200 }bd
|
|
201
|
|
202 /cguidfix{statusdict begin mark version end
|
|
203 {cvr}stopped{cleartomark 0}{exch pop}ifelse
|
|
204 2012 lt{dup findfont dup length dict begin
|
|
205 {1 index/FID ne 2 index/UniqueID ne and
|
|
206 {def} {pop pop} ifelse}forall
|
|
207 currentdict end definefont pop
|
|
208 }{pop}ifelse
|
|
209 }bd
|
|
210 /t_array 0 def
|
|
211 /t_i 0 def
|
|
212 /t_c 1 string def
|
|
213 /x_proc{ % x y
|
|
214 exch t_array t_i get add exch moveto
|
|
215 /t_i t_i 1 add store
|
|
216 }bd
|
|
217 /y_proc{ % x y
|
|
218 t_array t_i get add moveto
|
|
219 /t_i t_i 1 add store
|
|
220 }bd
|
|
221 /xy_proc{
|
|
222 % x y
|
|
223 t_array t_i 2 copy 1 add get 3 1 roll get
|
|
224 4 -1 roll add 3 1 roll add moveto
|
|
225 /t_i t_i 2 add store
|
|
226 }bd
|
|
227 /sop 0 def % don't bind sop
|
|
228 /cp_proc/x_proc ld % default moveto proc is for xwidths only
|
|
229 /base_charpath % string array
|
|
230 {
|
|
231 /t_array xs
|
|
232 /t_i 0 def
|
|
233 { % char
|
|
234 t_c 0 3 -1 roll put
|
|
235 currentpoint
|
|
236 t_c cply sop
|
|
237 cp_proc
|
|
238 }forall
|
|
239 /t_array 0 def
|
|
240 }bd
|
|
241 /sop/stroke ld % default sop is stroke. Done here so we don't bind in /base_charpath
|
|
242
|
|
243 % default sop is stroke
|
|
244 /nop{}def
|
|
245 /xsp/base_charpath ld
|
|
246 /ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd
|
|
247 /xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd
|
|
248 /xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd
|
|
249 /ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd
|
|
250 /xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd
|
|
251 /refnt{ % newname encoding fontname
|
|
252 findfont dup length dict copy dup
|
|
253 /Encoding 4 -1 roll put
|
|
254 definefont pop
|
|
255 }bd
|
|
256 /renmfont{ % newname fontname
|
|
257 findfont dup length dict copy definefont pop
|
|
258 }bd
|
|
259
|
|
260 L3? dup dup{save exch}if
|
|
261
|
|
262 % languagelevel2 ONLY code goes here
|
|
263
|
|
264 /Range 0 def
|
|
265 /DataSource 0 def
|
|
266 /val 0 def
|
|
267 /nRange 0 def
|
|
268 /mulRange 0 def
|
|
269 /d0 0 def
|
|
270 /r0 0 def
|
|
271 /di 0 def
|
|
272 /ri 0 def
|
|
273 /a0 0 def
|
|
274 /a1 0 def
|
|
275 /r1 0 def
|
|
276 /r2 0 def
|
|
277 /dx 0 def
|
|
278 /Nsteps 0 def
|
|
279 /sh3tp 0 def
|
|
280 /ymax 0 def
|
|
281 /ymin 0 def
|
|
282 /xmax 0 def
|
|
283 /xmin 0 def
|
|
284
|
|
285 /setupFunEval % funDict -- % this calculates and sets up a function dict for evaulation.
|
|
286 {
|
|
287 begin
|
|
288 /nRange Range length 2 idiv store
|
|
289 /mulRange % precompute the range data needed to map a sample value from the table to a range value
|
|
290 % this data looks like [ range0mul range0min range1mul range1min ... rangeN-1mul rangeN-1min ]
|
|
291 [
|
|
292 0 1 nRange 1 sub
|
|
293 { % index
|
|
294 2 mul/nDim2 xd % 2*dimension# we are dealing with
|
|
295 Range nDim2 get % ymin
|
|
296 Range nDim2 1 add get % ymin ymax
|
|
297 1 index sub % ymin (ymax-ymin)
|
|
298 % xmin = 0, xmax = 255 (2^bitspersample - 1)
|
|
299 255 div % ymin (ymax-ymin)/(xmax - xmin)
|
|
300 exch % (ymax-ymin)/(xmax - xmin) ymin
|
|
301 }for
|
|
302 ]store
|
|
303 end
|
|
304 }bd
|
|
305
|
|
306 /FunEval % val1 fundict -> comp1 comp2 ... compN
|
|
307 {
|
|
308 begin
|
|
309 % the value passed in is the base index into the table
|
|
310 nRange mul /val xd % compute the actual index to the table
|
|
311 % since there are nRange entries per base index
|
|
312 0 1 nRange 1 sub
|
|
313 {
|
|
314 dup 2 mul/nDim2 xd % dim
|
|
315 val % base value to use to do our lookup
|
|
316 add DataSource exch get % lookedupval
|
|
317 mulRange nDim2 get mul % lookedupval*(ymax-ymin)/(xmax-xmin)
|
|
318 mulRange nDim2 1 add get % lookedupval*(ymax-ymin)/(xmax-xmin) ymin
|
|
319 add % interpolated result
|
|
320 }for % comp1 comp2 ... compN
|
|
321 end
|
|
322 }bd
|
|
323
|
|
324 /max % a b -> max(a, b)
|
|
325 {
|
|
326 2 copy lt
|
|
327 {exch pop}{pop}ifelse
|
|
328 }bd
|
|
329
|
|
330 /sh2
|
|
331 { % emulation of shading type 2. Assumes shading dictionary is top dictionary on the dict stack
|
|
332 /Coords load aload pop % x0 y0 x1 y1
|
|
333 3 index 3 index translate % origin is now at beginning point of shading
|
|
334 % x0 y0 x1 y1
|
|
335 3 -1 roll sub % x0 x1 y1-y0
|
|
336 3 1 roll exch % y1-y0 x1 x0
|
|
337 sub % y1-y0 x1-x0
|
|
338 2 copy
|
|
339 dup mul exch dup mul add sqrt % length of segment between two points
|
|
340 dup
|
|
341 scale
|
|
342 atan % atan (dy/dx)
|
|
343 %dup (rotation angle = )print ==
|
|
344 rotate % now line between 0,0 and 1,0 is the line perpendicular to which the axial lines are drawn
|
|
345
|
|
346 /Function load setupFunEval % may need to setup function dictionary by calling setupFunEval
|
|
347
|
|
348 % this is now specific to axial shadings. Compute the maximum bounds to fill
|
|
349 clippath {pathbbox}stopped {0 0 0 0}if newpath % x0 y0 x1 y1
|
|
350 /ymax xs
|
|
351 /xmax xs
|
|
352 /ymin xs
|
|
353 /xmin xs
|
|
354 currentdict/Extend known
|
|
355 {
|
|
356 /Extend load 0 get
|
|
357 {
|
|
358 0/Function load FunEval sc % evaluate the function to get a color and set it
|
|
359 xmin ymin xmin abs ymax ymin sub rectfill
|
|
360 }if
|
|
361 }if
|
|
362 % paint the rects. The sampling frequency is that of our table
|
|
363 /Nsteps/Function load/Size get 0 get 1 sub store
|
|
364 /dx 1 Nsteps div store
|
|
365 gsave
|
|
366 /di ymax ymin sub store
|
|
367 /Function load
|
|
368 % loop Nsteps + 1 times, incrementing the index by 1 each time
|
|
369 0 1 Nsteps
|
|
370 {
|
|
371 1 index FunEval sc
|
|
372 0 ymin dx di rectfill
|
|
373 dx 0 translate
|
|
374 }for
|
|
375 pop % pop our function
|
|
376 grestore % origin is back to start point
|
|
377 currentdict/Extend known
|
|
378 {
|
|
379 /Extend load 1 get
|
|
380 {
|
|
381 Nsteps/Function load FunEval sc % last element
|
|
382 1 ymin xmax 1 sub abs ymax ymin sub rectfill
|
|
383 }if
|
|
384 }if
|
|
385 }bd
|
|
386
|
|
387 /shp % this paints our shape for shading type 3
|
|
388 { % x1 r1 x0 r0 -
|
|
389 4 copy
|
|
390
|
|
391 % fill interior arc
|
|
392 dup 0 gt{
|
|
393 0 exch a1 a0 arc
|
|
394 }{
|
|
395 pop 0 moveto
|
|
396 }ifelse
|
|
397
|
|
398 dup 0 gt{
|
|
399 0 exch a0 a1 arcn
|
|
400 }{
|
|
401 pop 0 lineto
|
|
402 }ifelse
|
|
403
|
|
404 fill
|
|
405
|
|
406 % fill exterior arc
|
|
407 dup 0 gt{
|
|
408 0 exch a0 a1 arc
|
|
409 }{
|
|
410 pop 0 moveto
|
|
411 }ifelse
|
|
412
|
|
413 dup 0 gt{
|
|
414 0 exch a1 a0 arcn
|
|
415 }{
|
|
416 pop 0 lineto
|
|
417 }ifelse
|
|
418
|
|
419 fill
|
|
420 }bd
|
|
421
|
|
422 /calcmaxs
|
|
423 { % calculate maximum distance vector from origin to corner points
|
|
424 % of bbox
|
|
425 xmin dup mul ymin dup mul add sqrt % (xmin2 + ymin2)
|
|
426 xmax dup mul ymin dup mul add sqrt % (xmax2 + ymin2)
|
|
427 xmin dup mul ymax dup mul add sqrt % (xmin2 + ymax2)
|
|
428 xmax dup mul ymax dup mul add sqrt % (xmax2 + ymax2)
|
|
429 max max max % maximum value
|
|
430 }bd
|
|
431
|
|
432 /sh3
|
|
433 { % emulation of shading type 3. Assumes shading dictionary is top dictionary on the dict stack
|
|
434 /Coords load aload pop % x0 y0 r1 x1 y1 r2
|
|
435 5 index 5 index translate % origin is now at first circle origin
|
|
436 3 -1 roll 6 -1 roll sub % y0 r1 y1 r2 dx
|
|
437 3 -1 roll 5 -1 roll sub % r1 r2 dx dy
|
|
438 2 copy dup mul exch dup mul add sqrt
|
|
439 /dx xs % r1 r2 dx dy
|
|
440 2 copy 0 ne exch 0 ne or
|
|
441 {
|
|
442 % r1 r2 dx dy
|
|
443 exch atan rotate % we are now rotated so dy is zero and positive values of dx move us as expected
|
|
444 }{
|
|
445 pop pop
|
|
446 }ifelse
|
|
447 % r1 r2
|
|
448 /r2 xs
|
|
449 /r1 xs
|
|
450 /Function load
|
|
451 dup/Size get 0 get 1 sub % this is the size of our table minus 1
|
|
452 /Nsteps xs % at some point we should optimize this better so NSteps is based on needed steps for the device
|
|
453 setupFunEval % may need to setup function dictionary by calling setupFunEval
|
|
454 % determine the case:
|
|
455 % case 0: circle1 inside circle2
|
|
456 % case 1: circle 2 inside circle 1
|
|
457 % case 2: r1 = r2
|
|
458 % case 3: r1 != r2
|
|
459 dx r2 add r1 lt{
|
|
460 % circle 2 inside of circle 1
|
|
461 0
|
|
462 }{
|
|
463 dx r1 add r2 le
|
|
464 { % circle 1 inside of circle 2
|
|
465 1
|
|
466 }{ % circles don't contain each other
|
|
467 r1 r2 eq
|
|
468 { % equal
|
|
469 2
|
|
470 }{ % r1 != r2
|
|
471 3
|
|
472 }ifelse
|
|
473 }ifelse
|
|
474 }ifelse
|
|
475 /sh3tp xs % sh3tp has the number of our different cases
|
|
476 clippath {pathbbox}stopped {0 0 0 0}if
|
|
477 newpath % x0 y0 x1 y1
|
|
478 /ymax xs
|
|
479 /xmax xs
|
|
480 /ymin xs
|
|
481 /xmin xs
|
|
482
|
|
483 % Arc angle atan( sqrt((dx*dx + dy*dy) - dr*dr), dr)
|
|
484 dx dup mul r2 r1 sub dup mul sub dup 0 gt
|
|
485 {
|
|
486 sqrt r2 r1 sub atan
|
|
487 /a0 exch 180 exch sub store
|
|
488 /a1 a0 neg store
|
|
489 }{
|
|
490 pop
|
|
491 /a0 0 store
|
|
492 /a1 360 store
|
|
493 }ifelse
|
|
494
|
|
495 currentdict/Extend known
|
|
496 {
|
|
497 /Extend load 0 get r1 0 gt and % no need to extend if the radius of the first end is 0
|
|
498 {
|
|
499 0/Function load FunEval sc % evaluate the function to get a color and set it
|
|
500 % case 0: circle1 inside circle2
|
|
501 % case 1: circle 2 inside circle 1
|
|
502 % case 2: circles don't contain each other and r1 == r2
|
|
503 % case 3: circles don't contain each other and r1 != r2
|
|
504 {
|
|
505 { % case 0
|
|
506 dx 0 r1 360 0 arcn
|
|
507 xmin ymin moveto
|
|
508 xmax ymin lineto
|
|
509 xmax ymax lineto
|
|
510 xmin ymax lineto
|
|
511 xmin ymin lineto
|
|
512 eofill % for the bigger radius we fill everything except our circle
|
|
513 }
|
|
514 { % case 1
|
|
515 r1 0 gt{0 0 r1 0 360 arc fill}if
|
|
516 }
|
|
517 { % case 2
|
|
518 % r1 == r2, extend 0
|
|
519 % r3 = r, x3 = -(abs(minx) + r), x1 = 0
|
|
520
|
|
521 % x(i+1) r(i+1) x(i) r(i) shp
|
|
522 0 r1 xmin abs r1 add neg r1 shp
|
|
523 }
|
|
524 { % case 3
|
|
525 % no containment, r1 != r2
|
|
526
|
|
527 r2 r1 gt{ % the endpoint we are drawing is that with a circle of zero radius
|
|
528 % x(i+1) r(i+1) x(i) r(i) shp
|
|
529 0 r1
|
|
530 r1 neg r2 r1 sub div dx mul % this is point of beginning circle
|
|
531 0 % point of ending circle
|
|
532 shp % takes x(i+1) r(i+1) x(i) r(i)
|
|
533 }{ % the first circle is the bigger of the two
|
|
534 % we find a circle on our line which is outside the bbox in the
|
|
535 % negative direction
|
|
536 % x(i+1) r(i+1) x(i) r(i) shp
|
|
537 0 r1 calcmaxs % 0 r1 maxs
|
|
538 dup
|
|
539 % calculating xs: (-(maxs+r2)*x2)/(x2-(r1-r2))
|
|
540 r2 add dx mul dx r1 r2 sub sub div
|
|
541 neg % maxs xs'
|
|
542 exch 1 index % xs' maxs xs'
|
|
543 abs exch sub
|
|
544 shp
|
|
545 }ifelse
|
|
546 }
|
|
547 }sh3tp get exec % execute the extend at beginning proc for our shading type
|
|
548 }if
|
|
549 }if
|
|
550
|
|
551 % now do the shading
|
|
552 /d0 0 store
|
|
553 /r0 r1 store
|
|
554 /di dx Nsteps div store
|
|
555 /ri r2 r1 sub Nsteps div store
|
|
556 /Function load
|
|
557 0 1 Nsteps
|
|
558 { % function t(i)
|
|
559 1 index FunEval sc
|
|
560 d0 di add r0 ri add d0 r0 shp
|
|
561 {
|
|
562 % fill interior arc
|
|
563 d0 0 r0 a1 a0 arc
|
|
564 d0 di add 0 r0 ri add a0 a1 arcn
|
|
565 fill
|
|
566
|
|
567 % fill exterior arc
|
|
568 d0 0 r0 a0 a1 arc
|
|
569 d0 di add 0 r0 ri add a1 a0 arcn
|
|
570 fill
|
|
571 }pop
|
|
572
|
|
573 % advance to next
|
|
574 /d0 d0 di add store
|
|
575 /r0 r0 ri add store
|
|
576 }for
|
|
577 pop % pop our function dict
|
|
578
|
|
579 % handle Extend
|
|
580 currentdict/Extend known
|
|
581 {
|
|
582 /Extend load 1 get r2 0 gt and % no need to extend if the radius of the last end is 0
|
|
583 {
|
|
584 Nsteps/Function load FunEval sc % last element
|
|
585 % case 0: circle1 inside circle2
|
|
586 % case 1: circle 2 inside circle 1
|
|
587 % case 2: circles don't contain each other and r1 == r2
|
|
588 % case 3: circles don't contain each other and r1 != r2
|
|
589 {
|
|
590 {
|
|
591 dx 0 r2 0 360 arc fill
|
|
592 }
|
|
593 {
|
|
594 dx 0 r2 360 0 arcn
|
|
595 xmin ymin moveto
|
|
596 xmax ymin lineto
|
|
597 xmax ymax lineto
|
|
598 xmin ymax lineto
|
|
599 xmin ymin lineto
|
|
600 eofill % for the bigger radius we fill everything except our circle
|
|
601 }
|
|
602 { % r1 == r2, extend 1
|
|
603 % r3 = r, x3 = (abs(xmax) + r), x1 = dx
|
|
604 % x(i+1) r(i+1) x(i) r(i) shp
|
|
605 xmax abs r1 add r1 dx r1 shp
|
|
606 }
|
|
607 { % no containment, r1 != r2
|
|
608
|
|
609 r2 r1 gt{
|
|
610 % we find a circle on our line which is outside the bbox in the
|
|
611 % positive direction
|
|
612 % x(i+1) r(i+1) x(i) r(i) shp
|
|
613 calcmaxs dup % maxs maxs
|
|
614 % calculating xs: ((maxs+r1)*x2)/(x2-(r2-r1))
|
|
615 r1 add dx mul dx r2 r1 sub sub div % maxs xs
|
|
616 exch 1 index % xs maxs xs
|
|
617 exch sub
|
|
618 dx r2
|
|
619 shp
|
|
620 }{ % the endpoint we are drawing is that with a circle of zero radius
|
|
621 % x(i+1) r(i+1) x(i) r(i) shp
|
|
622 r1 neg r2 r1 sub div dx mul % this is point of ending circle
|
|
623 0 % radius of ending circle
|
|
624 dx % point of starting circle
|
|
625 r2 % radius of starting circle
|
|
626 shp
|
|
627 }ifelse
|
|
628 }
|
|
629 }
|
|
630 sh3tp get exec % execute the extend at end proc for our shading type
|
|
631 }if
|
|
632 }if
|
|
633 }bd
|
|
634 /sh % emulation of shfill operator for type 2 and type 3 shadings based on type 0 functions
|
|
635 { % shadingDict --
|
|
636 begin
|
|
637 /ShadingType load dup dup 2 eq exch 3 eq or
|
|
638 { % shadingtype
|
|
639 gsave
|
|
640 newpath
|
|
641 /ColorSpace load scs
|
|
642 currentdict/BBox known
|
|
643 {
|
|
644 /BBox load aload pop % llx lly urx ury
|
|
645 2 index sub % llx lly urx ury-lly
|
|
646 3 index % llx lly urx ury-lly llx
|
|
647 3 -1 roll exch sub
|
|
648 exch rectclip
|
|
649 }if
|
|
650 2 eq
|
|
651 {sh2}{sh3}ifelse
|
|
652 grestore
|
|
653 }{
|
|
654 % shadingtype
|
|
655 pop
|
|
656 (DEBUG: shading type unimplemented\n)print flush
|
|
657 }ifelse
|
|
658 end
|
|
659 }bd
|
|
660
|
|
661 % end of language level 2 ONLY code
|
|
662
|
|
663 {restore}if not dup{save exch}if
|
|
664 % languagelevel3 ONLY code goes here
|
|
665 L3?{ % we do these loads conditionally or else they will fail on a level 2 printer
|
|
666 /sh/shfill ld
|
|
667 /csq/clipsave ld
|
|
668 /csQ/cliprestore ld
|
|
669 }if
|
|
670 {restore}if
|
|
671
|
|
672 %currentdict dup maxlength exch length sub (number of extra slots in md = )print == flush % *** how many entries are free
|
|
673 end
|
|
674 setpacking
|
|
675 % count 0 ne { pstack(***extras on stack during prolog execution***\n)print flush}if % *** BARK if anything is left on stack
|
|
676 %%EndFile
|
|
677 %%EndProlog
|
|
678 %%BeginSetup
|
|
679 %%EndSetup
|
|
680 %%Page: 1 1
|
|
681 %%PageBoundingBox: 0 0 460 307
|
|
682 %%BeginPageSetup
|
|
683 cg_md begin
|
|
684 bp
|
|
685 sdmtx
|
|
686 %RBIBeginFontSubset: HelveticaNeue
|
|
687 %!FontType1-1.0: HelveticaNeue 1.0000.1.0000
|
|
688
14 dict begin/FontName /HelveticaNeue def
|
|
689
/PaintType 0 def
|
|
690
/Encoding 256 array 0 1 255{1 index exch/.notdef put}for
|
|
691
dup 33 /space put
|
|
692
dup 34 /M put
|
|
693
dup 35 /o put
|
|
694
dup 36 /a put
|
|
695
dup 37 /r put
|
|
696
dup 38 /V put
|
|
697
dup 39 /P put
|
|
698
dup 40 /e put
|
|
699
dup 41 /l put
|
|
700
dup 42 /six put
|
|
701
dup 43 /N put
|
|
702
dup 44 /Q put
|
|
703
dup 45 /J put
|
|
704
readonly def
|
|
705
42/FontType resourcestatus{pop pop false}{true}ifelse
|
|
706
%APLsfntBegin
|
|
707
{currentfile 0(%APLsfntEnd\n)/SubFileDecode filter flushfile}if
|
|
708
/FontType 42 def
|
|
709
/FontMatrix matrix def
|
|
710
/FontBBox[1000 -951 1 index div -481 2 index div 1987 3 index div 1077 5 -1 roll div]cvx def
|
|
711
/sfnts [<
|
|
712
74727565000900000000000063767420000000000000009C000000186670676D00000000000000B400000428676C796600000000000004DC00000B2C6865616400000000000010080000003668686561000000000000104000000024686D747800000000000010640000003C6C6F636100000000000010A0000000206D61787000000000000010C0000000207072657000000000000010E00000004D14000014004B005A00000011FF3A000B0205000C02CA0011B800002C4BB800095058B101018E59B801FF85B844001DB9000900035F5E2DB800012C2020456944B001602DB800022CB800012A212DB800032C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800042C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800052C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800062C2020456944B001602020457D691844B001602DB800072CB800062A2DB800082C4B20B003265358B0801BB040598A8A20B003265358B0022621B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B80003265358B0032545B8014050582321B8014023211BB003254523212321591B2159442DB800092C4B535845441B2121592DB8000A2C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB8000B2C2020456944B001602DB8000C2CB8000B2A212DB8000D2C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB8000E2C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB8000F2C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800102C2020456944B001602020457D691844B001602DB800112CB800102A2DB800122C4B20B003265358B0801BB040598A8A20B0032653582321B0C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800132C4B535845441B2121592DB800142C4BB800095058B101018E59B801FF85B800441DB9000900035F5E2DB800152C2020456944B001602DB800162CB800152A212DB800172C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800182C2046B00425465258238A592046206A6164B0042546
|
|
713
206A61645258238A592FFD2DB800192C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB8001A2C2020456944B001602020457D691844B001602DB8001B2CB8001A2A2DB8001C2C4B20B003265358B0401BB000598A8A20B0032653582321B0808A8A1B8A235920B0032653582321B800C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB8001D2C4B535845441B2121592D00020033000101CC02C8000300070065B800142BB800082FB800002FB8000810B80006D0B800062FB900020003F4B8000010B900040003F4B80009DC00B800014558B800042F1BB90004000A3E59B800014558B800052F1BB9000500043E59B8000410B900000002F4B8000510B900020002F4303101211121131121110199FECD013333FE67029AFD950299FD3902C700020026FFF5020702C50023003700E3BA001C000900032BB8001C10BA0013002900032BB8001310411B0006001C0016001C0026001C0036001C0046001C0056001C0066001C0076001C0086001C0096001C00A6001C00B6001C00C6001C000D5D410500D5001C00E5001C00025D410500DA002900EA002900025D411B0009002900190029002900290039002900490029005900290069002900790029008900290099002900A9002900B9002900C90029000D5DB8000910B80033DCB8001310B80039DC00BA002E000E00032BB8002E10BA0004002100032BB8000410BA0018002400032BB8001810B8000410B80000DC303101332E0123220E0215141E0233323E0235342E0223220607273E0333321607321E0215140E0223222E0235343E02019E550868584C643C191134604F435B37181E3751333A591E02010E254236333E7A2436241113243523233725141326360210585D406A8949387864402D45542731543E232C3102295E51353AC31A2B3B211F392C19192A3A21213B2B190000010016FFF001B902CA0015002BBA000C000D00032BB8000C10BA0001000200032BB800011000B800012FBA0006001100032BB8000610303125112311140623222E023D012315141633323E0201B95F3141232D190A5F6C643C513115B20218FDF63B461526341F1E2C666921374600000100500000031702CA000E0057BA0003000000032BB8000310BA000B000800032BB8000B10BA000D0000000B11123900B800012FB800052FB800092FB800002FB8000B2FBA000400010000111239BA000800010000111239BA000D000100001112393031131133113313331333113311230B01505A02DF51DF025A82E2E102CAFD360252FDAE0252FDAE02CAFDA802580000000001004D0000028602CA000B004BBA00
|
|
714
03000000032BB8000310BA0007000800032BB8000710B8000810B8000AD0B8000A2F00B800012FB800052FB800002FB800072FBA000400010000111239BA000A0001000011123930311311331133013311231123014D5A020175685A02FE8802CAFD36023DFDC302CAFDBD02430000000002004E0000026202CA000800130089B800152FBA0001000900032BB8000110B8001510B80010DCB80005DC410500DA000500EA000500025D411B0009000500190005002900050039000500490005005900050069000500790005008900050099000500A9000500B9000500C90005000D5DB8000110B8000BD000B8000A2FBA0009000100032BB8000910BA0000000C00032BB800001030311311333216151406270111331133163635342623ADBA514B4B51FEE75FDA6C6F6F6C0174010643404044010156FD360124017064646F0000020026FFC302D202DB0016002D00E1B8002E2FB8002F2FB8002E10B80026D0B800262FB8002F10B8001CDCBA00020026001C111239B8002610B80009DC411B0006000900160009002600090036000900460009005600090066000900760009008600090096000900A6000900B6000900C60009000D5D410500D5000900E5000900025DB8001C10B80013DC410500DA001300EA001300025D411B0009001300190013002900130039001300490013005900130069001300790013008900130099001300A9001300B9001300C90013000D5D00B800172FBA0004002B00032BB8000410BA0021000E00032BB800211030312507170623222E0235343E0233321E02151406071737273E0135342E0223220E0215141E0233323701C2324F3033415E3C1C1C3C5E41415E3C1C282A73305E36362B5680555580562B2B5680556348CC3A3F1433546936366954333354693642792ABD3C4A3694524987683E3E6887494987683D2A0000000100000000026502CA0007001900B800012FB800052FB800002FBA000400000001111239303121132303230323130167FE63CE02CC66FB02CAFD95026BFD3600020024FFF5020A021100300042015CB800142BBB00380003000D00182BBB002A0003001700182BB8001710B80005D0B800052F4111000600380016003800260038003600380046003800560038006600380076003800085D4105008500380095003800025DB8003810B900200003F4B9001F0003F4B8001710B900300003F4B8001710B80031D0B800312FB8002A10B80044DC00B800014558B800252F1BB9002500083E59B800014558B800022F1BB9000200043E59B800014558B800082F1BB9000800043E59BA000500020025111239B8002510B9001C0002F441050089001C0099001C00025D41110008001C0018001C0028001C0038001C0048001C0058001C0068001C0078001C00085DB8002510B8001FDCB800
|
|
715
0210B9002E0002F441110007002E0017002E0027002E0037002E0047002E0057002E0067002E0077002E00085D41050086002E0096002E00025DBA003000020025111239BA003100020025111239B8003DD030312506232226350E0123222E0235343E02373E0335342E0223220607233E0333321E0215111416333237270E0515141E0233323E0235020A16272127235D36233F2E1B1E313F21233F301C152129143648035502243C4D2C2345382207140B0F8A1034393A2E1D111B24142A3C2612020D252A2A25102237272C3823120607070D19181C2212062939304229120A1F382DFEF61E1C05C70C0B0709142520151D12081723291200000000020024FFF502030211000A0026005BBA0014001F00032BB8001410BA0015000000032BB8001510B8001410B80001D0B8000010B8000CD0B8000C2F00BA000F002400032BB8000F10BA001A000600032BB8001A10BA0001001400032BB8000110B8002410B8000CDC303101213E0333321E0217230E0123222E023721362E0223220E02151E0333323601A7FED702162635212035271754540B45362A3E28120101830215375B4535594124021F3E5B3E587401341E352817172736AE33321C2F3D222F6858392848623B3B64482858000100450000009A02CA00030017BA0003000000032BB800031000B800012FB800002F303113113311455502CAFD3602CA00000000020024FFF5021A02110013002700CBB800282FB800292FB8002810B80014D0B800142FB80000DC411B0006000000160000002600000036000000460000005600000066000000760000008600000096000000A6000000B6000000C60000000D5D410500D5000000E5000000025DB8002910B8001EDCB8000ADC410500DA000A00EA000A00025D411B0009000A0019000A0029000A0039000A0049000A0059000A0069000A0079000A0089000A0099000A00A9000A00B9000A00C9000A000D5D00BA000F001900032BB8000F10BA0023000500032BB8002310303113343E0233321E0215140E0223222E0227141E0233323E0235342E0223220E027E192C3B21213B2C19192C3B21213B2C195A20405E3D3E5D402020405D3E3D5E402001022F49321A1A32492F2F49311A1A31492F39624929294962393963492A2A496300000001003D0000014D0213000E0027BA0003000100032BB8000310B8000DD0B8000D2F00B800012FBA0009000800032BB8000910303113113335343E02333526060723353D55142C4833455A1F020205FDFBE6324D361C5A023C3F6D0000020037FF5B04A802FA000B00110023B800142BBB00060003000300182B00B800042FB800112FBB00090002000000182B3031372226351133111416332115050901370901F75E62622E30034EFEA20136FECA42017FFE8276606101C3FE3D30345DD701
|
|
716
0401004BFEB5FEB80001000000010000062A4FC55F0F3CF5011103E800000000B643600000000000D7C23C38FC49FE1F07C304350000000900020000000000000001000003B8FF2B001C08B1FC49FE8007C300010000000000000000000000000000000F01F4003301160000022C0026020700160367005002D2004D0288004E02F8002602630000021900240219002400DE0045023E0024014D003D04BE003700000048004801080140018A01CA023202E6030604100478049205320560059600010000000F0096000900680004000200000000001E00000200042800030001B800142B01BA0002000200162B01BF0003003E0037002B001F00130000001C2B00BF0002004A0037002B001F00130000001C2B00BA00040004001B2BB8000120457D691844B8000A2BB800002B000000
|
|
717
00>] def
|
|
718
/CharStrings 15 dict dup begin
|
|
719
/.notdef 0 def
|
|
720 /space 1 def
|
|
721 /six 2 def
|
|
722 /J 3 def
|
|
723 /M 4 def
|
|
724 /N 5 def
|
|
725 /P 6 def
|
|
726 /Q 7 def
|
|
727 /V 8 def
|
|
728 /a 9 def
|
|
729 /e 10 def
|
|
730 /l 11 def
|
|
731 /o 12 def
|
|
732 /r 13 def
|
|
733 /uni2B91 14 def
|
|
734 end readonly def
|
|
735
currentdict dup/FontName get exch definefont pop end
|
|
736
%APLsfntEnd
|
|
737
42/FontType resourcestatus{pop pop true}{false}ifelse
|
|
738
{currentfile 0(%APLT1End\n)/SubFileDecode filter flushfile}if
|
|
739
/FontType 1 def
|
|
740
/FontMatrix [ 0.001 0 0 0.001 0 0 ] def
|
|
741
/FontBBox{-951 -481 1987 1077}def
|
|
742
/UniqueID 4151493 def
|
|
743
currentdict currentfile eexec
|
|
744
54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5586B741EEB93F3C73016EC16BFF283758900903D203992EFC8BAFAF13579C602F38C91B1454491BCF48412CA40CE1C5F7851A403FDB5F7EBECD00BD59442330258C8F54F9A2B51CA5B18D1E30D1E4A019367173FB88C9EAC98BBAE7C8DBD85C921487E373D87D743B1E079DE09460CC2A636025DC35BEC305286A6417863D21598DD21D73FBBE42615DDD41C15AD35281AAFDD0AEC69551C6A28E3B80A48799AC3B40AE9CF973E85FC1F0F823599BA829D3CF0DEC0232021563D3AA221D2EF22204AF7B557A804DD4A7B1017F879E2F2118396C1180DCDD08F38BFCE37C662B3F2E366144A4D963025E1A5319637505A2EDFEB528CA9970FF8ED7F9535484185C3C7AD75DFA7DFBB353EB08281333FAAF0B6F0F2B5754F60968B327F893CFC575AF6295EA580E6246E9B6229C6DA6F95A3FCB7058D9E02B63EDD142AF8F2830ACA9D442282B0BA121ED067EE237AC776AE71FAC3BA7EF4719A64FE81A11E38A897407E9951375983367BE16AE2A6F820562728002ECB442A2F1165855819E99A7CCFC0BB3F2DE88A4FD68534CD4D00C0313B5FFDD49D70BBD5046CBD6F47F429844B57132EB7CBBA4F85BD8874586A1824A3245EEFA7AB1B73E63D9FF68E97E489DF0CC28FEC218D3EC8161F48E38C8FCEF2D84C32F49918488A70DCE7101187BB91A3B57162D9FA495C5875C6568760C39FA51C1400B6926C3C77A6CDC92EBE5FF979B01D08729C9A9D8259689CA4D8B404331BEAED1B9E84297C42B695C7984BABA8D1C48EB126878F6234BAC70464CA8714C990A8CA9AF4BB338DE1C3B1E532A7EE
|
|
745
B5DF2E0B09D799F0FE0F4CEA78ECDD1C088DC37CEE6110431390711E66F98707098B7B74A73B56A34171A20E859377DF19D8500556F2A3C1CC2B7A95070365B04BEAA4C6E44686F8DE05E946CE1DD8C8474BF1877EEC83ADD29E77DC0A78B9B2232894A43FCB3CBCD95D705483CC0F374A5EAFE14699A4A8D9E6E174FDE9E93B7A3C00B9574052C03638D585BBA34D5C146C19277A5BDBF51FBA97EAC43DE47AEF928D4A6A6669BC75BE267750B0E9D51E0A2278EB48974C8610EC7E63A39601D35508377826D4AEC61EEDF4707E69F95906FCF08531DA749DF4846F846C5B6E93EA1FBF83165D4D13CB08078E860BDD264993367505BED3D19921D4834EB01370C53163264BB9A2FEA871D9BD123448C8C291BF287FF0C048C2BA7F7D6355C84409D4C8CC5510AFCD0994DC89A85B3771E41F05094DC08F113D22BF7B4B09BA1C0D66DB36886294CD658C8F5F3155ED5EAF803D7AF9BCD2FA836BB1607C70E3B71414B4C2F09EEDF004BD40436C69FC37FC3350BAA177FD1FF616C8493948FF25632812D37C56E086C4A0A2810AA8181391E1E2378009DEBB0C0550F2C8299EC3B727C78E840E7313ACFB2FF34A3013AB731DF38B5C01B79492BBEFFD338ACE3B59CD0E533CF22A49BFC433853BBCE878A78750DEFFF0FDF0F46BAABAC5F312A03010F8F1CB430888C1BEF641515C5291A0437A6FDD2D0BDB3334500383084147352B19E1F194A178DAF9FF9AD868FE0093C346BAB3604210B11B075490DAA499AEC959C52B4D28048887C39E67ECF36CD6AFA4C02450624A2B5765F91AB04E63970A39F13832D928A84085AE3B12B45A23659206390F78DF8166CE5DC4F908DFB6FB2C2DDA6D0DBB31E13687E3D410EEA087651C574005B6C64A4F4807C1662E7177B85C9E9F682DB371AAC607A952F8C95C3C8C8FF0B254537F4E445EE7E782B5DC26FA55A025724D21E427BA05D03F80045837EA44A911669897C0E16C83346C225683661087E46E2EFABB768053B93E8DDDDFAF6D7FE5F1E7AB4E8AAB5A9A2B77784176BE3B87C1292048C3DDA80356842E0452F65B65DE41C898A3D508FCAC9D26760348FAC55C191A8F4E5F2C4445D89C2C1B831CE296B2E4D2F2F43A5B156087BC75309493FEC5CCC9A52360C8FB0188283D98B0211071CC9B06725FB16DCEAA5E023373E6FE037F4F4396B6EB65F6DF5E9BB8BE00F8B771B9E019DD8508185A1C6C3044D8DA89CE6A4BB310A7CA62989DBDD61732FF895676B65F55C0723E65BCF70586F8FFFC49D788CF87B7116EFC2120E1657980F3488FF6AEA79C912E50242C4035C957CF40E1915AAAB684C3616B52C7C9EB68A78F6979D7D8CBBDE454F39EF3D470883EA044B7DDC3DBBAB98A0ADF4921A2A14374A850E86063FC8BA4BB1BCE55A19EEA3AE24756ABA535FB872AEECC494530DC912AC1E23B
|
|
746
6FC6A27A318C0D19D66F0706D5EC0BA6E74ABCA979F19D9445629C88EBE06EAE999CE2430D686C5F4857D420379C6C1B674676373C5C93CC829072E560ABB0500589AC7FD211FEA540B193D702A0D86F3DC8EE498FAA4FABC52A87EB199D740EBC673300344A78A739B92B313A299558A9E79BA5C0075C9A4B56C84B9B20B4D56822E079DB29346054F0B40E777756B5BB60B43C197D132FC67A6FBC9B97B44715DFFCF95F16E18C1E2974271C531D56CA9D60A7FAC96DCA144E8A7F670605C273D16D5B446148CB389F7B2703443155F7FC76A686781E0BDCB7BEA353BF7E20A8B5C39FEDFEBB79471C83AF730AE4DD51A8515B04643A4C6A04BD546330566BDAC1FDE0F63E0AABF3CD14AFFEC15A173D1DFDDE35D7941BDC26CB74F7244813F74998C6F2E9A7F19D44746F001812016BB8678C18530CB19875AD3F30B6C7BAB82A4FA79536C72B408647771AFD2F378A2E101F91DE769F1DFC0AC8DFC8E977A6434BA5BED71699422161F6A4F803A448DC4767C8C92520D10CE52EC70CDA6ACF1EC6185DB2F44CA5DB970F72CA2892E920A73597627D8689F6A0F2F06EBBEB6C03AB0DD8BE3E98BB056CC018F1B2A4BF61515409BB274FD330E0014A41AB41790553C144FE817D0B6044ED8E896C2233836B5C66AF22A71635A0E98F74B2971E5C1960C3B14AFD3635EF2606461604CDF5DC2A3188D9018BC64950DCC82BF8FD778EBC33A6A61D78846BDE3122A9165EB636BC86B23B7B35279E437AD75CA026DF505E80A4E51AF62278645F44002295E019DD9601F5D7265416B9CBD7375C2B7D5FB8F0861703ECCD63CE4FAA2FC654B1FB420BB0DD91397497A8E8488D7706F767BEE3AD5BDA994F680D43500C228F0128DD2BF6FF43ECA31C66CC8C76BC6B56CD856C5E55CCC6F71FD99BF19C5468C5FCF9685F329D03C17A02D017ED46A050C3237917B571BA91760432314672233A0C6C54A2FCE6E2FAC31A20E88315C7D0120799B91467DF6B86189C792200FC2AFC8575D5E6ED008DFEBD6EEDD982665976DF89E14179
|
|
747
0000000000000000000000000000000000000000000000000000000000000000
|
|
748
0000000000000000000000000000000000000000000000000000000000000000
|
|
749
0000000000000000000000000000000000000000000000000000000000000000
|
|
750
0000000000000000000000000000000000000000000000000000000000000000
|
|
751
0000000000000000000000000000000000000000000000000000000000000000
|
|
752
0000000000000000000000000000000000000000000000000000000000000000
|
|
753
0000000000000000000000000000000000000000000000000000000000000000
|
|
754
0000000000000000000000000000000000000000000000000000000000000000
|
|
755
cleartomark end
|
|
756
%APLT1End
|
|
757
%RBIEndFontSubset
|
|
758 /HelveticaNeue cguidfix
|
|
759 /F1.1/HelveticaNeue renmfont
|
|
760 [ /CIEBasedABC 4 dict dup begin
|
|
761 /WhitePoint [ 0.9505 1.0000 1.0891 ] def
|
|
762 /DecodeABC [ { 1.8008 exp } bind { 1.8008 exp } bind { 1.8008 exp } bind ] def
|
|
763 /MatrixABC [ 0.4295 0.2318 0.0204 0.3278 0.6722 0.1111 0.1933 0.0960 0.9578 ] def
|
|
764 /RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def
|
|
765 end ] /Cs1 exch/ColorSpace dr pop
|
|
766 [ /CIEBasedA 5 dict dup begin /WhitePoint [ 0.9505 1.0000 1.0891 ] def
|
|
767 /DecodeA { { 1.8008 exp } bind exec} bind
|
|
768 def
|
|
769 /MatrixA [ 0.9642 1.0000 0.8249 ] def
|
|
770 /RangeLMN [ 0.0 2.0000 0.0 2.0000 0.0 2.0000 ] def
|
|
771 /DecodeLMN [ { 0.9857 mul} bind { 1.0000 mul} bind { 1.3202 mul} bind ] def
|
|
772 end ] /Cs2 exch/ColorSpace dr pop
|
|
773 %%EndPageSetup
|
|
774 /Cs1 SC
|
|
775 1 1 1 sc
|
|
776 q
|
|
777 0 0 460 307 rc
|
|
778 -58 365 m
|
|
779 518 365 l
|
|
780 518 -584 l
|
|
781 -58 -584 l
|
|
782 h
|
|
783 -58 365 m
|
|
784 f
|
|
785 14 131 m
|
|
786 302 131 l
|
|
787 302 14 l
|
|
788 14 14 l
|
|
789 h
|
|
790 14 131 m
|
|
791 f
|
|
792 7 w
|
|
793 1 J
|
|
794 1 j
|
|
795 0.60000002 i
|
|
796 0 0 0 sc
|
|
797 1 0 0 -1 -58 365 cm
|
|
798 72 234 m
|
|
799 360 234 l
|
|
800 360 351 l
|
|
801 72 351 l
|
|
802 h
|
|
803 72 234 m
|
|
804 S
|
|
805 /Cs2 SC
|
|
806 0 sc
|
|
807 0 i
|
|
808 1 0 0 -1 158 72.5 cm
|
|
809 /F1.1[ 24 0 0 -24 0 0]sf
|
|
810 -139 8.6640015 m
|
|
811 (!!!!!!!!!"#$%&")[ 6.672000 6.672000 6.672000 6.672000 6.672000 6.672000 6.672000 6.672000 6.672000 20.904000 13.776000 12.888000 7.992000 14.664000 0.000000 ] xS
|
|
812 /Cs1 SC
|
|
813 1 1 1 sc
|
|
814 CM
|
|
815 14 293 m
|
|
816 446 293 l
|
|
817 446 212 l
|
|
818 14 212 l
|
|
819 h
|
|
820 14 293 m
|
|
821 f
|
|
822 0.60000002 i
|
|
823 0 0 0 sc
|
|
824 1 0 0 -1 -58 365 cm
|
|
825 72 72 m
|
|
826 504 72 l
|
|
827 504 153 l
|
|
828 72 153 l
|
|
829 h
|
|
830 72 72 m
|
|
831 S
|
|
832 /Cs2 SC
|
|
833 0 sc
|
|
834 0 i
|
|
835 1 0 0 -1 230 252.5 cm
|
|
836 -27.552 8.6640015 m
|
|
837 ('\(%\)*)[ 15.552000 12.888000 7.992000 5.328000 0.000000 ] xS
|
|
838 /Cs1 SC
|
|
839 1 1 1 sc
|
|
840 CM
|
|
841 14 212 m
|
|
842 446 212 l
|
|
843 446 131 l
|
|
844 14 131 l
|
|
845 h
|
|
846 14 212 m
|
|
847 f
|
|
848 0.60000002 i
|
|
849 0 0 0 sc
|
|
850 1 0 0 -1 -58 365 cm
|
|
851 72 153 m
|
|
852 504 153 l
|
|
853 504 234 l
|
|
854 72 234 l
|
|
855 h
|
|
856 72 153 m
|
|
857 S
|
|
858 /Cs2 SC
|
|
859 0 sc
|
|
860 0 i
|
|
861 1 0 0 -1 230 171.5 cm
|
|
862 -25.559999 8.6640015 m
|
|
863 (+,')[ 17.328000 18.240000 0.000000 ] xS
|
|
864 /Cs1 SC
|
|
865 1 1 1 sc
|
|
866 CM
|
|
867 239 131 m
|
|
868 446 131 l
|
|
869 446 14 l
|
|
870 239 14 l
|
|
871 h
|
|
872 239 131 m
|
|
873 f
|
|
874 0.60000002 i
|
|
875 0 0 0 sc
|
|
876 1 0 0 -1 -58 365 cm
|
|
877 297 234 m
|
|
878 504 234 l
|
|
879 504 351 l
|
|
880 297 351 l
|
|
881 h
|
|
882 297 234 m
|
|
883 S
|
|
884 /Cs2 SC
|
|
885 0 sc
|
|
886 0 i
|
|
887 1 0 0 -1 342.5 72.5 cm
|
|
888 -24.011999 8.6640015 m
|
|
889 (-&")[ 12.456000 14.664000 0.000000 ] xS
|
|
890 ep
|
|
891 end
|
|
892 %%Trailer
|
|
893 %%EOF
|