├── EPS
├── AI.eps
├── HTML.eps
├── Javascript.eps
├── PHP.eps
└── Python.eps
├── LICENSE
├── PNG
├── AI.png
├── HTML.png
├── Javascript.png
├── PHP.png
└── Python.png
├── README.md
└── code-tattoo.sketch
/EPS/AI.eps:
--------------------------------------------------------------------------------
1 | %!PS-Adobe-3.0 EPSF-3.0
2 | %APL_DSC_Encoding: UTF8
3 | %APLProducer: (Version 10.12.6 (Build 16G1314) Quartz PS Context)
4 | %%Title: (Unknown)
5 | %%Creator: (Unknown)
6 | %%CreationDate: (Unknown)
7 | %%For: (Unknown)
8 | %%DocumentData: Clean7Bit
9 | %%LanguageLevel: 2
10 | %%Pages: 1
11 | %%BoundingBox: 0 0 450 163
12 | %%EndComments
13 | %%BeginProlog
14 | %%BeginFile: cg-pdf.ps
15 | %%Copyright: Copyright 2000-2004 Apple Computer Incorporated.
16 | %%Copyright: All Rights Reserved.
17 | currentpacking true setpacking
18 | /cg_md 141 dict def
19 | cg_md begin
20 | /L3? languagelevel 3 ge def
21 | /bd{bind def}bind def
22 | /ld{load def}bd
23 | /xs{exch store}bd
24 | /xd{exch def}bd
25 | /cmmtx matrix def
26 | mark
27 | /sc/setcolor
28 | /scs/setcolorspace
29 | /dr/defineresource
30 | /fr/findresource
31 | /T/true
32 | /F/false
33 | /d/setdash
34 | /w/setlinewidth
35 | /J/setlinecap
36 | /j/setlinejoin
37 | /M/setmiterlimit
38 | /i/setflat
39 | /rc/rectclip
40 | /rf/rectfill
41 | /rs/rectstroke
42 | /f/fill
43 | /f*/eofill
44 | /sf/selectfont
45 | /s/show
46 | %/as/ashow
47 | /xS/xshow
48 | /yS/yshow
49 | /xyS/xyshow
50 | /S/stroke
51 | /m/moveto
52 | /l/lineto
53 | /c/curveto
54 | /h/closepath
55 | /n/newpath
56 | /q/gsave
57 | /Q/grestore
58 | counttomark 2 idiv
59 | %dup (number of ld's = )print == flush % *** how many
60 | {ld}repeat pop
61 | /SC{ % CSname
62 | /ColorSpace fr scs
63 | }bd
64 | /sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld
65 | /soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld
66 | /cgmtx matrix def
67 | /sdmtx{cgmtx currentmatrix pop}bd
68 | /CM {cgmtx setmatrix}bd % pop the ctm: our gstate ctm on host is now identity
69 | /cm {cmmtx astore CM concat}bd % reset the matrix and then concat
70 | /W{clip newpath}bd
71 | /W*{eoclip newpath}bd
72 |
73 | statusdict begin product end dup (HP) anchorsearch{
74 | pop pop pop % pop off the search results
75 | true
76 | }{
77 | pop % previous search result
78 | (hp) anchorsearch{
79 | pop pop true
80 | }{
81 | pop false
82 | }ifelse
83 | }ifelse
84 |
85 | { % HP is the product: we use this method of stroking because of a bug in their clone printers with certain T3 fonts
86 | {
87 | { % charCode Wx Wy
88 | pop pop % charCode
89 | (0)dup 0 4 -1 roll put
90 | F charpath
91 | }cshow
92 | }
93 | }{
94 | {F charpath}
95 | }ifelse
96 | /cply exch bd
97 | /cps {cply stroke}bd
98 | /pgsave 0 def
99 | /bp{/pgsave save store}bd
100 | /ep{pgsave restore showpage}def % dont' bind
101 | /re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd
102 |
103 | /scrdict 10 dict def
104 | /scrmtx matrix def
105 | /patarray 0 def
106 | /createpat{patarray 3 1 roll put}bd
107 | /makepat{
108 | scrmtx astore pop
109 | gsave
110 | initgraphics
111 | CM
112 | patarray exch get
113 | scrmtx
114 | makepattern
115 | grestore
116 | setpattern
117 | }bd
118 |
119 | /cg_BeginEPSF{
120 | userdict save/cg_b4_Inc_state exch put
121 | userdict/cg_endepsf/cg_EndEPSF load put
122 | count userdict/cg_op_count 3 -1 roll put
123 | countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put
124 | 3 sub{end}repeat
125 | /showpage {} def
126 | 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin
127 | 10 setmiterlimit [] 0 setdash newpath
128 | false setstrokeadjust false setoverprint % don't use F
129 | }bd
130 | /cg_EndEPSF{
131 | countdictstack 3 sub { end } repeat
132 | cg_dict_array 3 1 index length 3 sub getinterval
133 | {begin}forall
134 | count userdict/cg_op_count get sub{pop}repeat
135 | userdict/cg_b4_Inc_state get restore
136 | F setpacking
137 | }bd
138 |
139 | /cg_biproc{currentfile/RunLengthDecode filter}bd
140 | /cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd
141 | /ImageDataSource 0 def
142 | L3?{
143 | /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd
144 | /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd
145 | }{
146 | /ImageBandMask 0 def
147 | /ImageBandData 0 def
148 | /cg_mibiproc{
149 | string/ImageBandMask xs
150 | string/ImageBandData xs
151 | /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx
152 | /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
153 | }bd
154 | /cg_miaiproc{
155 | string/ImageBandMask xs
156 | string/ImageBandData xs
157 | /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter
158 | dup ImageBandMask/readstring cvx
159 | /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
160 | }bd
161 | }ifelse
162 | /imsave 0 def
163 | /BI{save/imsave xd mark}bd
164 | /EI{imsave restore}bd
165 | /ID{
166 | counttomark 2 idiv
167 | dup 2 add % leave room for imagetype and imagematrix
168 | dict begin
169 | {def} repeat
170 | pop % remove mark
171 | /ImageType 1 def
172 | /ImageMatrix[Width 0 0 Height neg 0 Height]def
173 | currentdict dup/ImageMask known{ImageMask}{F}ifelse exch
174 | % currentdict on stack
175 | L3?{
176 | dup/MaskedImage known
177 | {
178 | pop
179 | <<
180 | /ImageType 3
181 | /InterleaveType 2
182 | /DataDict currentdict
183 | /MaskDict
184 | << /ImageType 1
185 | /Width Width
186 | /Height Height
187 | /ImageMatrix ImageMatrix
188 | /BitsPerComponent 1
189 | /Decode [0 1]
190 | currentdict/Interpolate known
191 | {/Interpolate Interpolate}if
192 | >>
193 | >>
194 | }if
195 | }if
196 | exch
197 | {imagemask}{image}ifelse
198 | end % pop imagedict from dict stack
199 | }bd
200 |
201 | /cguidfix{statusdict begin mark version end
202 | {cvr}stopped{cleartomark 0}{exch pop}ifelse
203 | 2012 lt{dup findfont dup length dict begin
204 | {1 index/FID ne 2 index/UniqueID ne and
205 | {def} {pop pop} ifelse}forall
206 | currentdict end definefont pop
207 | }{pop}ifelse
208 | }bd
209 | /t_array 0 def
210 | /t_i 0 def
211 | /t_c 1 string def
212 | /x_proc{ % x y
213 | exch t_array t_i get add exch moveto
214 | /t_i t_i 1 add store
215 | }bd
216 | /y_proc{ % x y
217 | t_array t_i get add moveto
218 | /t_i t_i 1 add store
219 | }bd
220 | /xy_proc{
221 | % x y
222 | t_array t_i 2 copy 1 add get 3 1 roll get
223 | 4 -1 roll add 3 1 roll add moveto
224 | /t_i t_i 2 add store
225 | }bd
226 | /sop 0 def % don't bind sop
227 | /cp_proc/x_proc ld % default moveto proc is for xwidths only
228 | /base_charpath % string array
229 | {
230 | /t_array xs
231 | /t_i 0 def
232 | { % char
233 | t_c 0 3 -1 roll put
234 | currentpoint
235 | t_c cply sop
236 | cp_proc
237 | }forall
238 | /t_array 0 def
239 | }bd
240 | /sop/stroke ld % default sop is stroke. Done here so we don't bind in /base_charpath
241 |
242 | % default sop is stroke
243 | /nop{}def
244 | /xsp/base_charpath ld
245 | /ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd
246 | /xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd
247 | /xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd
248 | /ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd
249 | /xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd
250 | /refnt{ % newname encoding fontname
251 | findfont dup length dict copy dup
252 | /Encoding 4 -1 roll put
253 | definefont pop
254 | }bd
255 | /renmfont{ % newname fontname
256 | findfont dup length dict copy definefont pop
257 | }bd
258 |
259 | L3? dup dup{save exch}if
260 |
261 | % languagelevel2 ONLY code goes here
262 |
263 | /Range 0 def
264 | /DataSource 0 def
265 | /val 0 def
266 | /nRange 0 def
267 | /mulRange 0 def
268 | /d0 0 def
269 | /r0 0 def
270 | /di 0 def
271 | /ri 0 def
272 | /a0 0 def
273 | /a1 0 def
274 | /r1 0 def
275 | /r2 0 def
276 | /dx 0 def
277 | /Nsteps 0 def
278 | /sh3tp 0 def
279 | /ymax 0 def
280 | /ymin 0 def
281 | /xmax 0 def
282 | /xmin 0 def
283 |
284 | /setupFunEval % funDict -- % this calculates and sets up a function dict for evaulation.
285 | {
286 | begin
287 | /nRange Range length 2 idiv store
288 | /mulRange % precompute the range data needed to map a sample value from the table to a range value
289 | % this data looks like [ range0mul range0min range1mul range1min ... rangeN-1mul rangeN-1min ]
290 | [
291 | 0 1 nRange 1 sub
292 | { % index
293 | 2 mul/nDim2 xd % 2*dimension# we are dealing with
294 | Range nDim2 get % ymin
295 | Range nDim2 1 add get % ymin ymax
296 | 1 index sub % ymin (ymax-ymin)
297 | % xmin = 0, xmax = 255 (2^bitspersample - 1)
298 | 255 div % ymin (ymax-ymin)/(xmax - xmin)
299 | exch % (ymax-ymin)/(xmax - xmin) ymin
300 | }for
301 | ]store
302 | end
303 | }bd
304 |
305 | /FunEval % val1 fundict -> comp1 comp2 ... compN
306 | {
307 | begin
308 | % the value passed in is the base index into the table
309 | nRange mul /val xd % compute the actual index to the table
310 | % since there are nRange entries per base index
311 | 0 1 nRange 1 sub
312 | {
313 | dup 2 mul/nDim2 xd % dim
314 | val % base value to use to do our lookup
315 | add DataSource exch get % lookedupval
316 | mulRange nDim2 get mul % lookedupval*(ymax-ymin)/(xmax-xmin)
317 | mulRange nDim2 1 add get % lookedupval*(ymax-ymin)/(xmax-xmin) ymin
318 | add % interpolated result
319 | }for % comp1 comp2 ... compN
320 | end
321 | }bd
322 |
323 | /max % a b -> max(a, b)
324 | {
325 | 2 copy lt
326 | {exch pop}{pop}ifelse
327 | }bd
328 |
329 | /sh2
330 | { % emulation of shading type 2. Assumes shading dictionary is top dictionary on the dict stack
331 | /Coords load aload pop % x0 y0 x1 y1
332 | 3 index 3 index translate % origin is now at beginning point of shading
333 | % x0 y0 x1 y1
334 | 3 -1 roll sub % x0 x1 y1-y0
335 | 3 1 roll exch % y1-y0 x1 x0
336 | sub % y1-y0 x1-x0
337 | 2 copy
338 | dup mul exch dup mul add sqrt % length of segment between two points
339 | dup
340 | scale
341 | atan % atan (dy/dx)
342 | %dup (rotation angle = )print ==
343 | rotate % now line between 0,0 and 1,0 is the line perpendicular to which the axial lines are drawn
344 |
345 | /Function load setupFunEval % may need to setup function dictionary by calling setupFunEval
346 |
347 | % this is now specific to axial shadings. Compute the maximum bounds to fill
348 | clippath {pathbbox}stopped {0 0 0 0}if newpath % x0 y0 x1 y1
349 | /ymax xs
350 | /xmax xs
351 | /ymin xs
352 | /xmin xs
353 | currentdict/Extend known
354 | {
355 | /Extend load 0 get
356 | {
357 | 0/Function load FunEval sc % evaluate the function to get a color and set it
358 | xmin ymin xmin abs ymax ymin sub rectfill
359 | }if
360 | }if
361 | % paint the rects. The sampling frequency is that of our table
362 | /Nsteps/Function load/Size get 0 get 1 sub store
363 | /dx 1 Nsteps div store
364 | gsave
365 | /di ymax ymin sub store
366 | /Function load
367 | % loop Nsteps + 1 times, incrementing the index by 1 each time
368 | 0 1 Nsteps
369 | {
370 | 1 index FunEval sc
371 | 0 ymin dx di rectfill
372 | dx 0 translate
373 | }for
374 | pop % pop our function
375 | grestore % origin is back to start point
376 | currentdict/Extend known
377 | {
378 | /Extend load 1 get
379 | {
380 | Nsteps/Function load FunEval sc % last element
381 | 1 ymin xmax 1 sub abs ymax ymin sub rectfill
382 | }if
383 | }if
384 | }bd
385 |
386 | /shp % this paints our shape for shading type 3
387 | { % x1 r1 x0 r0 -
388 | 4 copy
389 |
390 | % fill interior arc
391 | dup 0 gt{
392 | 0 exch a1 a0 arc
393 | }{
394 | pop 0 moveto
395 | }ifelse
396 |
397 | dup 0 gt{
398 | 0 exch a0 a1 arcn
399 | }{
400 | pop 0 lineto
401 | }ifelse
402 |
403 | fill
404 |
405 | % fill exterior arc
406 | dup 0 gt{
407 | 0 exch a0 a1 arc
408 | }{
409 | pop 0 moveto
410 | }ifelse
411 |
412 | dup 0 gt{
413 | 0 exch a1 a0 arcn
414 | }{
415 | pop 0 lineto
416 | }ifelse
417 |
418 | fill
419 | }bd
420 |
421 | /calcmaxs
422 | { % calculate maximum distance vector from origin to corner points
423 | % of bbox
424 | xmin dup mul ymin dup mul add sqrt % (xmin2 + ymin2)
425 | xmax dup mul ymin dup mul add sqrt % (xmax2 + ymin2)
426 | xmin dup mul ymax dup mul add sqrt % (xmin2 + ymax2)
427 | xmax dup mul ymax dup mul add sqrt % (xmax2 + ymax2)
428 | max max max % maximum value
429 | }bd
430 |
431 | /sh3
432 | { % emulation of shading type 3. Assumes shading dictionary is top dictionary on the dict stack
433 | /Coords load aload pop % x0 y0 r1 x1 y1 r2
434 | 5 index 5 index translate % origin is now at first circle origin
435 | 3 -1 roll 6 -1 roll sub % y0 r1 y1 r2 dx
436 | 3 -1 roll 5 -1 roll sub % r1 r2 dx dy
437 | 2 copy dup mul exch dup mul add sqrt
438 | /dx xs % r1 r2 dx dy
439 | 2 copy 0 ne exch 0 ne or
440 | {
441 | % r1 r2 dx dy
442 | exch atan rotate % we are now rotated so dy is zero and positive values of dx move us as expected
443 | }{
444 | pop pop
445 | }ifelse
446 | % r1 r2
447 | /r2 xs
448 | /r1 xs
449 | /Function load
450 | dup/Size get 0 get 1 sub % this is the size of our table minus 1
451 | /Nsteps xs % at some point we should optimize this better so NSteps is based on needed steps for the device
452 | setupFunEval % may need to setup function dictionary by calling setupFunEval
453 | % determine the case:
454 | % case 0: circle1 inside circle2
455 | % case 1: circle 2 inside circle 1
456 | % case 2: r1 = r2
457 | % case 3: r1 != r2
458 | dx r2 add r1 lt{
459 | % circle 2 inside of circle 1
460 | 0
461 | }{
462 | dx r1 add r2 le
463 | { % circle 1 inside of circle 2
464 | 1
465 | }{ % circles don't contain each other
466 | r1 r2 eq
467 | { % equal
468 | 2
469 | }{ % r1 != r2
470 | 3
471 | }ifelse
472 | }ifelse
473 | }ifelse
474 | /sh3tp xs % sh3tp has the number of our different cases
475 | clippath {pathbbox}stopped {0 0 0 0}if
476 | newpath % x0 y0 x1 y1
477 | /ymax xs
478 | /xmax xs
479 | /ymin xs
480 | /xmin xs
481 |
482 | % Arc angle atan( sqrt((dx*dx + dy*dy) - dr*dr), dr)
483 | dx dup mul r2 r1 sub dup mul sub dup 0 gt
484 | {
485 | sqrt r2 r1 sub atan
486 | /a0 exch 180 exch sub store
487 | /a1 a0 neg store
488 | }{
489 | pop
490 | /a0 0 store
491 | /a1 360 store
492 | }ifelse
493 |
494 | currentdict/Extend known
495 | {
496 | /Extend load 0 get r1 0 gt and % no need to extend if the radius of the first end is 0
497 | {
498 | 0/Function load FunEval sc % evaluate the function to get a color and set it
499 | % case 0: circle1 inside circle2
500 | % case 1: circle 2 inside circle 1
501 | % case 2: circles don't contain each other and r1 == r2
502 | % case 3: circles don't contain each other and r1 != r2
503 | {
504 | { % case 0
505 | dx 0 r1 360 0 arcn
506 | xmin ymin moveto
507 | xmax ymin lineto
508 | xmax ymax lineto
509 | xmin ymax lineto
510 | xmin ymin lineto
511 | eofill % for the bigger radius we fill everything except our circle
512 | }
513 | { % case 1
514 | r1 0 gt{0 0 r1 0 360 arc fill}if
515 | }
516 | { % case 2
517 | % r1 == r2, extend 0
518 | % r3 = r, x3 = -(abs(minx) + r), x1 = 0
519 |
520 | % x(i+1) r(i+1) x(i) r(i) shp
521 | 0 r1 xmin abs r1 add neg r1 shp
522 | }
523 | { % case 3
524 | % no containment, r1 != r2
525 |
526 | r2 r1 gt{ % the endpoint we are drawing is that with a circle of zero radius
527 | % x(i+1) r(i+1) x(i) r(i) shp
528 | 0 r1
529 | r1 neg r2 r1 sub div dx mul % this is point of beginning circle
530 | 0 % point of ending circle
531 | shp % takes x(i+1) r(i+1) x(i) r(i)
532 | }{ % the first circle is the bigger of the two
533 | % we find a circle on our line which is outside the bbox in the
534 | % negative direction
535 | % x(i+1) r(i+1) x(i) r(i) shp
536 | 0 r1 calcmaxs % 0 r1 maxs
537 | dup
538 | % calculating xs: (-(maxs+r2)*x2)/(x2-(r1-r2))
539 | r2 add dx mul dx r1 r2 sub sub div
540 | neg % maxs xs'
541 | exch 1 index % xs' maxs xs'
542 | abs exch sub
543 | shp
544 | }ifelse
545 | }
546 | }sh3tp get exec % execute the extend at beginning proc for our shading type
547 | }if
548 | }if
549 |
550 | % now do the shading
551 | /d0 0 store
552 | /r0 r1 store
553 | /di dx Nsteps div store
554 | /ri r2 r1 sub Nsteps div store
555 | /Function load
556 | 0 1 Nsteps
557 | { % function t(i)
558 | 1 index FunEval sc
559 | d0 di add r0 ri add d0 r0 shp
560 | {
561 | % fill interior arc
562 | d0 0 r0 a1 a0 arc
563 | d0 di add 0 r0 ri add a0 a1 arcn
564 | fill
565 |
566 | % fill exterior arc
567 | d0 0 r0 a0 a1 arc
568 | d0 di add 0 r0 ri add a1 a0 arcn
569 | fill
570 | }pop
571 |
572 | % advance to next
573 | /d0 d0 di add store
574 | /r0 r0 ri add store
575 | }for
576 | pop % pop our function dict
577 |
578 | % handle Extend
579 | currentdict/Extend known
580 | {
581 | /Extend load 1 get r2 0 gt and % no need to extend if the radius of the last end is 0
582 | {
583 | Nsteps/Function load FunEval sc % last element
584 | % case 0: circle1 inside circle2
585 | % case 1: circle 2 inside circle 1
586 | % case 2: circles don't contain each other and r1 == r2
587 | % case 3: circles don't contain each other and r1 != r2
588 | {
589 | {
590 | dx 0 r2 0 360 arc fill
591 | }
592 | {
593 | dx 0 r2 360 0 arcn
594 | xmin ymin moveto
595 | xmax ymin lineto
596 | xmax ymax lineto
597 | xmin ymax lineto
598 | xmin ymin lineto
599 | eofill % for the bigger radius we fill everything except our circle
600 | }
601 | { % r1 == r2, extend 1
602 | % r3 = r, x3 = (abs(xmax) + r), x1 = dx
603 | % x(i+1) r(i+1) x(i) r(i) shp
604 | xmax abs r1 add r1 dx r1 shp
605 | }
606 | { % no containment, r1 != r2
607 |
608 | r2 r1 gt{
609 | % we find a circle on our line which is outside the bbox in the
610 | % positive direction
611 | % x(i+1) r(i+1) x(i) r(i) shp
612 | calcmaxs dup % maxs maxs
613 | % calculating xs: ((maxs+r1)*x2)/(x2-(r2-r1))
614 | r1 add dx mul dx r2 r1 sub sub div % maxs xs
615 | exch 1 index % xs maxs xs
616 | exch sub
617 | dx r2
618 | shp
619 | }{ % the endpoint we are drawing is that with a circle of zero radius
620 | % x(i+1) r(i+1) x(i) r(i) shp
621 | r1 neg r2 r1 sub div dx mul % this is point of ending circle
622 | 0 % radius of ending circle
623 | dx % point of starting circle
624 | r2 % radius of starting circle
625 | shp
626 | }ifelse
627 | }
628 | }
629 | sh3tp get exec % execute the extend at end proc for our shading type
630 | }if
631 | }if
632 | }bd
633 | /sh % emulation of shfill operator for type 2 and type 3 shadings based on type 0 functions
634 | { % shadingDict --
635 | begin
636 | /ShadingType load dup dup 2 eq exch 3 eq or
637 | { % shadingtype
638 | gsave
639 | newpath
640 | /ColorSpace load scs
641 | currentdict/BBox known
642 | {
643 | /BBox load aload pop % llx lly urx ury
644 | 2 index sub % llx lly urx ury-lly
645 | 3 index % llx lly urx ury-lly llx
646 | 3 -1 roll exch sub
647 | exch rectclip
648 | }if
649 | 2 eq
650 | {sh2}{sh3}ifelse
651 | grestore
652 | }{
653 | % shadingtype
654 | pop
655 | (DEBUG: shading type unimplemented\n)print flush
656 | }ifelse
657 | end
658 | }bd
659 |
660 | % end of language level 2 ONLY code
661 |
662 | {restore}if not dup{save exch}if
663 | % languagelevel3 ONLY code goes here
664 | L3?{ % we do these loads conditionally or else they will fail on a level 2 printer
665 | /sh/shfill ld
666 | /csq/clipsave ld
667 | /csQ/cliprestore ld
668 | }if
669 | {restore}if
670 |
671 | %currentdict dup maxlength exch length sub (number of extra slots in md = )print == flush % *** how many entries are free
672 | end
673 | setpacking
674 | % count 0 ne { pstack(***extras on stack during prolog execution***\n)print flush}if % *** BARK if anything is left on stack
675 | %%EndFile
676 | %%EndProlog
677 | %%BeginSetup
678 | %%EndSetup
679 | %%Page: 1 1
680 | %%PageBoundingBox: 0 0 450 163
681 | %%BeginPageSetup
682 | cg_md begin
683 | bp
684 | sdmtx
685 | %RBIBeginFontSubset: OPMPND+WenYue-GuDianMingChaoTi-NC-W5
686 | %!FontType1-1.0: AAAAAH+WenYue-GuDianMingChaoTi-NC-W5 001.003
%%CreationDate: 4/20/18
% Copyright 2018 Apple Inc. and its licensors, all rights reserved.
11 dict begin
/FontInfo 9 dict dup begin
/version (001.003) readonly def
/FullName (WenYue-GuDianMingChaoTi-NC-W5) readonly def
/FamilyName (WenYue-GuDianMingChaoTi-NC-W5) readonly def
/Weight (SnapShot) readonly def
/isFixedPitch false def
/UnderlinePosition 20 def
/UnderlineThickness 40 def
end readonly def
/FontName /AAAAAH+WenYue-GuDianMingChaoTi-NC-W5 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.0010 0 0 0.0010 0 0] readonly def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for
readonly def
/FontBBox {-195 -283 1196 944} readonly def
currentdict end
currentfile eexec
D9D66F633B846A989B9974B0179FC6CC4458BB4CB99E3608702C78822367AAF89059868F63F93207640A6BD5DA214789
139C491E02A37BF3866F2964E8D690D48D9F6C4A5EC22355F8123573812483E06B968AE84B5F20A982A0E65764753516
97AB8C6EA040355C5542F297D7A3AF28AB93EA0771E0D56DBF00F7CA9CE9FB9FC2E0ECB00D04D5F5F3F24B987B546D62
74971A477DEE12C44623C180BCDBA21172627610C4736632D1A4693E79719C3BC43DF5330790A52DCD4CF455ACC213F6
B1C4BA249179DB360225568161552A16682E3A3604BFC39D571B1F8F18375BECF1C5066694AE864EFC9A863DDE6D4B9C
BD0D2B278C134BD8A60B58EA633EF6B5FC94A90A2396C406684764E79A3225DF9754A63B72D16FB185A5BCF2D58F4608
684F782CE77F672453E416E53EEF765BB1FC0A7604BF819DD28AD73F6D857A26B50F7E388414B50F2E8DBF6CE483654A
0716F946586F8BA2BE71149BB2C010F2FA300E1D1DE9AC30F09FB927CE9E9F34F5FF60F8719241B28139D8AEDC3A6CEA
601DB9E54C92120E60C36878A3390FEF9F8EE6949EAEAC849422FE2609869446A9ABDF57284A1536F6F3C4ABA92E851A
18C705EAD525D9E63B31BC06B9BE6FB274F3649CAAD0B3522BE05CD31BC80228E9ED50882027BB21B0C3C1C44A10309F
BF244E71B0BBB7A2878FB008B977275B31A19269F5C94F697058E92A23B61A35E034C32559619377B0CF12525FC025B2
97984527181644C39AB832F23D3450218DE3295B31FB3BD7BD380F14876034AFAE253BA21C5C903C3E439234298DCE66
EA759AB3C8F4B7C25115F0BFA4C6C9E3CE4E00AFD6C0BD228FE88CD3FDE39A00EDB5382B0DE77E2925F078C87179E00A
FFBD081E4868D569543E31CD8AF244DCF739C603816874081CA62EE971A49295C049870422A6D6AD7724BE447AF9E3DB
4422208092DDE7A289BD9E3BB95A7DD10AEC1EE3E8589FA4C03A4A9F49C23D9B6CE52F8C9FD7DA4A56A4402F809B1547
CD82AA867410F1859ED6E7ECD5AF7BA950910FFB44361DF222E215995FB8CE3D1D2DE312B5DB41946E70111600AD5902
3DC9FF2C7929F419D19D711B96912C06ED0F0E6D18E8941D571C3BCFB148506139BFBF511D5F6A1E28001A79097D0CF3
6A5A05143BF1D3378F037F643371403044897AA17331E5C4A942D441CA2B7F39ABB4A358BDA0FE8E71B6347421A18172
CF88CF4863AB716EF61C9F312ED7A36A72B435CC6C988B27E97FCDC3B603F737267C8786505DE9629E2F0BD4883BF5A0
02AB4C925B0276E2AD198103F892E69F29D6B6984482BF81F5670846D213EAE8008FB7CCC5704F8D705F284E23EC13BC
D3BF5121682FEB6A69BD84D8A5B43B106235EA5B726126FA66A25EA9754CAD9B4F9B10A3078E4A43DD7462442D2B952B
A4E145ECB9BE0FE876F35F5D119BBE82C2F96230561E204DE6E355A05819535BC0ED803254A96E833B2A5284D106BC9C
7AE28F578DF163C896A9D081F34858B43AFC38764FB52F5FF496BA3DE42B2557CDAAEDCAF9646D466D6F6C958DC16139
748658E36836D2DBEF1C2B301DB7AAFC0BCCDA149157E076E50BB4F33AB7465C7AB1ADE8102DDDD9EEC1FA8C600C33FC
A26A14800C1EE28DF2E42F5A41696E448F03C8066134571AAE7FA5FB843E98C3E87248B3D07D84469EE0CEF1B43D94D7
A4A129214B6E9D1C00AE2D86AE3031700BE408A4F43CD63F8C32FAE965B6B48102EF0482449DCEFF87EA33B87BF7ABAE
27CBA7F61D0C492C49580D8CF61E36ED3601F5783A7E89A488DEB178F2B9EA0A392D134B71311FDCF2914F917B8D579E
95D25E274B62B4837BFCDF2E0C0EB3DB966D60BFBF9978DD6B92F8C6C04AFFEC00FF16544ECC2B19DF9E4116A4C12392
E7F4853AB7100D7AF646A15E7BBDED7D2AFD5104841E4152EC870A3417ACC2AD94FE7BD701C6545F7B94CDE2A9192D0B
AFC0A4F605BD068B07608B5CB69B80B4721BC6D24179BA5AC7873C1E67DC46C12815E06C03C36A597887F840B3968D4F
A8A5BC71C97A20F23027B53B4578A8349C3471C00B50D6DF6A5A5EA28AA6053F843B0E04B80C3ECE1B972F8AADFC3808
734C634E800D374B1627D63C40BD9FB2143F0F55F15F1379FB890ACBDD0B09FB5AC5494650EA151DCC7DD66A0EC5AB8B
E200500FF3325077CAAE686EC287E4CA2543F1D20778132BFE3D577DD7A19688622FE62A30BFAFB0AED872F0A58B4EA7
09F9C508EF7566B80EB4A2A3FF0B6746DB529C56DA07ABF197A9AAB43B219244F055A12644C37E749E783FA6CD7BA046
66B106F0F22178C7677F52041B6A84CFB46EE4CABE03EA68ECF0EB73C1558D0C7FA22A33FA7F1DD378CBDD2D69EE8434
718DA604ACC1E3BC6B07D5FE7779BEBB7ADAA6A2D91A15FF2AAC2AEEDA1AEDE8264C3BF06D6D8B87F39E8AB2E68ADB42
8553DAAA55E04779F87F3F510AB1BF1DE2DF2F0332FB7E021E08F404F07DC457D40EA2426CBA8E7B5DA26F69C7452417
4CD84B664F322571DE995CDF0399FDDF9226B3668F2CA007EEE3C8E43B3A1EFFE1A391DDE84CA6E33C311046CFAE8722
BCA961117A23A6D48F3B07AEA5366F9E2D7E9468215613D7340696025353A9DDB826718B3382BFB67690C1B546176BA3
4BDB93E28D08425982FA40AE15CC44329FE27C0632E3ED1F9AF141337F3BF5E05A8DB056F674D3DEC6E146BB026AEA07
F3429A06C4F1539027C5C8A8829A75F47BEAA664B43108CB0ECB20409D567DED7B578191A7FE9613890DCBB9DEEFFD4F
8BAE6B014247DD710F027D5DAD2259C7804129B11467344C2357959225C18C721D3C6B5F1E2828DEC1CE52F83526EC26
2FD0E3D1C46474119C5E65C477C68644FC5F9B8AA8684340F2D31B7C42E7E403D60A41CBF7183DEC2DD44A797B782F22
9E419C76BD94EB85D4AE62FA2C39C8BBD9E2134B923BE1407CB3C536278164E8091118B7CEE91098D3150128749FCB5C
2B62A4637420D0B978D1B3F41977D5956D02B317B25FC00644B5E2185BE866D07C5CF3017F95C526C08252FD0E27C1D9
CD1682034A9F465A56CCA259BEBA3467D7021A57687CA31416609002A0B958903783E93720E52F65C2B5DF7EEA7CABFE
783E94CCA72081ADFBEE7915F335AE87A4CE232AF57AB8DBEA7FF03D522FEE08CAA1C8596C68266CB6A552B177720FF1
C6EFA3ACF756F941643E2612E8A71E0AA2242A1AA793238CA12513A50245E8DF2BF23A9E8273F0812773349FA2E8FC2E
834CAA4EF5C2F1016DDF1046D748B2A6B67557C3696ADDB7CBC6F0E0A7FFA53E72CBF04BF52062AC5492DF22B5CADD7A
58AC9A67152D18F6D0FA9E17C8FC549EEFB601EBFEE4D14179452E9E1756B78317C20DDC55232B2F42A2D088A05E9BAF
4FDB62B224F71DA59CB5DC9D7FD8A435CAA7BC78BF96B763BE87534B801C455C5EEDCC126DC7AB1A1B8BE9A15754BF1A
B39190CA29C702640C5DBD56430CDAE36B7D8ED505559DAB6EEF78F4342E691E7B4BD8B5DE7E8B17A7D6C0949D977F07
08DAF620C2254F622490CB3BD015265DF5F18D9533C39F44C3D36015E3E772C6854639CDAB274E09B3B0608D1FB699DA
0E6485D30D7FF1FEDB4949845D25B98BC81EC0FD6B3B676C13E9619BCDEA157581D12FE654E70CEE49ABD436D646D9F0
37E4261108952F0DAFC8C168CFF5736328EE27D865FCAE7D9BB972F4A1462C726EBA6AED78F62DF152ED97E8AD6AFB6E
01C073999C7DA709405E0CEF91009015EACAB33D960D50BB76E27308EA1A2D776C42ABE2BB0592A7379779C86D78D940
3F4BE658528CC68B710FB26FBFF3188DD57C75C5CE9C096849DC0C497AE85B214F1DD76D490204568A86E9B390D26CDB
A2DAE88D012992C0E18190B21BEECCB3DF758B0E318153386B815700B7BD1954198D97EA2B7E788E230A0F2BB9F9D81A
327CAB932389127FB4DB6D85387904640269B051189199DC04679BB37A40C36043B1F3C84E8671CE033BFAE30B9736D5
38F0B94314A18587897F6524ACF6723D09444EE8BAF3781D1D4B8AC5BE5511BC2504EE889C25BB00AC9BC21C184A2030
36504F0E11147478B4D28CA56748121245B2FFF92E0FB189E4079A8E8DE37A21F082DED2AD50069B0024E01066523760
1F08846C6185F66E49A46B3DCB05DE71A9F86A7B51421EA2F0961C9D913F5A909BB9121527A3CE23BA565A84175B85A7
CA17E1A8623B0EBF9488FBC26D3B623142D6E9DF72ABE0079A980426BDACEB2398F0DFA8137DAAFEDE1EE211EEBDDD4C
F8342D315C58262F9B67B20A5E1A575DE570CAD53913C22248205A93F50F0E5EBCE901E9C720AC7D32247C0D939A69DC
D8901CDE66209428D7655D7F321B935B309FB61D51B2C633ED3AB283FDFC4959DC30743F2F6F6FD97796B1CF675FDA15
7D3BF37C617CCD694C02C538BC7B415C24EEA6027DA51F6772C9079108390BB78E0A9155ED1940F076BE8BAC47DDFC21
6D0B0ACC4C3B530F28F5F192658BD3612585F5AB2976D79EA5C12459FA6C8EE3240476CEA452D24AC9B8869CFBAD1634
3640A598A071A2CF60FD180E98DE3C67763A7A0C15B5266AF8531CCAE51D265649E14FF52B2DC42A08F6394704111A80
7CD3430021002F2B259D4117BA2ADFF3D2151EF613B9CC31091EAAA64D645DC5B4BC931C157F79A94A77CB5D3C942AC7
47C4D880C06E33B7FE857D02D06B8BE7D58BA3CEB7901E3761DC49EFBA43B6E2C0EE09B16A79FE5BFF8F111934809335
88F304F749CFED31541A6399425FC21978CBEBDF39AEABDD4B88A6E208B1B32DC8FD4C2693F2DCCC04FBDF27698D34A2
94A49B1C1E8FBB92D80FED12ED489687F3823CD695AB861BD4A72293E76C42F36C7034A0A8667B59879685DDC1821092
A246FA1CD138CF7CB18DEBA6122F8B8022A1E964F4C186BC2690AC9E7909956A18BB5CA4878977A2A7483ED4C2FCDBB0
19242303DB7A3BCC879DBB8F94A1703481B4A999ECD312C481C100319328F529187F7E5B9001EAEFC923D80B37C3AC41
E6A8F6E221695FBABA1EF59D97F8AA0E940BEE2E4DC1197C337E7C1500ED087F690EF355956D69606178106947E661FF
647AD8D09315866463583D5BD2390DC375AB4A0DD0FB658F4E271F1D3C37E1CA3BD2D059263D128463CE93E9CC0D26A6
0CFAB53C098AE47B0663F65BB5408B9EA8911CFF6784897D1C7B6B2B2FA96530581462AEA98F01BD8E48C8E923F94C16
FF1247505BD23A5667DEC05AB78F83B3E7D0097F372F5D663620CAA01E2DD8D44F74D7C1D7F9ED8190788CADB928A3E9
D575227216AACAC6AEB2836A8E108817CB7EEC70F5F2AEC42D4BA1F4B882FE2AB1137A630409366912B9C12761BF34C2
4602A8DB9386D53CB781503F9782763A95523D973BEA0B983D307FDCC5802047459833C22706C198FD6CEFD8B1315E44
041691D1A5697BFA33A58B458242194C3E2743F442F222F80B7AB03A2E5E71C44EE44594DC0DFBDAAA10E5444585B529
BE06F68B21E7A12EE4B73576A365703F618575FD32B7B6BE47E3521048375A0FF14E6E5EFB3AAC8B3881442308517D36
D55A6CA30CACC0E3464D2D5EFD67A0EEEA87737375647FCAB4B5338F7E8FA83BD4CF5792F91639B61602B04673D2DD09
5A3B37A7C9D5D75D5BD91822DF859099F2ECB5FD131C0070CD2D8EE8D70C0C4FB52300BFAC9620CA7010871762E533D1
19A0BBBAAC07C92A4F42E1DDCEDC459D2C9EF8970E1787BD4A4D9B399A0816ACC8C8D60E8931007DFF7CC3FFA7B884E1
B747D6F5883D621E4682AC770972E52B664EFC0F15810FB31890E3CB2850BBCFB6B7773F5B9B33909A2616ED784E93DB
14E6CB753BAB8655552CBDD8037516F1E2174D3F1AEC2D18B2B72F141E056247EB9185F7502C09BC2FEA5037F88E1A97
7538CB544387FFB1A3121D6A53F4E739B5349D02FBE1A89C3F24B24EA74D298973BE3C27155AECD3B7FC909B3F5048A6
E0C8B664C8078A26F78F42A366470489BB444B5DB5182C784F2405A65EA90E9EEAEB46D104C61E295566F307F740008F
99020D5F1BD97523DDC0EF56E8A73680CAB742ED78CE4DC3600F8D9314A44B202424263195897A50AF243C36D8EE7707
DE7D514FDEDC5C4AC6D92A34CE92D3CD24F07D1419320D77780C96FCF49744E7510EEA0D737595D6A0FC71F0647599ED
AF7B7A791BDC9EF76A124F486DE476ABD286DF1AA20EDD8A43D2E85E41115B65417A60A0B795AA12897EB72C58CDD22E
CA85904C5D749A5E6F7D16B03B1641864D4C0C655D8AA5F2C73AA8BA1D30E377D6379F8B328EBF321262F9621860101E
86793465125F7090569908BE1618A9FA8829CA86561F24226FF0639055ABE4DD3723CF3D79EB8ABBCF78F72FA8601D83
D78265E819F4596E27166BC4C16B0D583A1FB6E03F02CF001A7AD3EE414324FC412734A374AE7FC9C71843056DE150F9
77E5F7D5359EE7DD613521280350AA03E6B32BC7E8B517171F832E1AF43F00AAEE2071B0D212E375745348C682D9DD3B
4E95FA33CBB5E8914EA6F746D8CBB977C96248D21998680F88012E135194F1522AC571ACE10359CD1A37128BEBD5A0EF
57C0762A5094B7CA720E1DA3D4FCD31A997D51DABAE899F3416515639D54A63AD412BA142787170ECE739D329C1F549B
2D92CC11690AD32812667E722A02B542857D02112C4FD5B62DD96BAF828F0CEFB1B3440FF35D196884EFB22DE1151987
D8C847C4A903F027832BD10590212E2388FC57F59B7245DF2B7F6FD2B12CCCC0857CE462771EDF42CE246FA1C152EDAA
D1839B3423B8CEC516A76E0A41393776631053C18FCC1D94D8AF96E89387C780C1DBFF6A37E36D2E154340B2B3564C3A
0E6C070C1940BFEEF042F6BEAC5CABC9DAF7CA866360F0FD5C71819D52A64D1DC5624B35A09CEE89D27B65EAE983A756
1BC784493A01ADAABAA943108821951908A4E40E07A4A7FCF3E47E6E7B667B214A4431881BFC3D720997B1CCD6F5EEF0
E9FF4050E3100916C6B5FB7A661B0A2259CE7315D9B863B36A88F46F36EFA3444B164B3383D4952889A352F2B7BF197B
6C76260D9F401E83389E62380ECD199F2302D0B2CBF99AC1EEAB475C9AD29D2B3AA379771A5CB448454B3A09A349CA1E
93DFBD1BD915C08498FB54987C6573C2CFC6F453E86B84C35E42E2EFA235E0584621CD39DCCBB002537E2A55D6F2F99D
DBD924CC5D434D45477190B9C3787ED0B93BB904EA73089F19847887506801F6E4FB79EF3CA0C88F95CF6BBF2AC8D96B
66427689E8AD5DEB15747E1B6FF1B1BBC937B0CE9E58E3697F4210BB894424847028C2210A64221F07ED47C6C7B3CCA9
38094C2343987CE9B52400F6EA83762FD13A8EDC5FB2280956D69679FE3B78507CD5ABDEC034A2F3F51C3287FC7F5C86
42DA600578D8F737486CF10EE13BE0F6E97F831E6A13E71D9FFB74FDDB6B7B3CA45D1951E06D94283F218C7814DA1902
CF627616E779FB13E292E9197F07ADC7DB8947312CBDD37D6CD9033D2B653BFB123807123BFE1EE751E23445F398079C
BBF945EF88E277D14080A434D477860D835B14DE87BA77E759FDC657252C3AE88F49BD8789638DF4249BE3D09A9894E9
C61FEA61F5F1520F8E1FF36AA6C3F273E693D80A57C86FD14337F4B7C8BD4353324F5782977F8FE39749709AEAF603D1
EAC1A6D424044BD9F1F301913666983514CB8ABFFF17EC51B9108482C1ED93B6C649004E90F03946D1E81D28AC3E6BE7
7A5F29F64E12B1B194A41AD0D4C156B3807C671FB05D2951C74130728700635599564D095C27FA8F96AD343ABB9755F1
A7FD56FB03EF60ABBFC8114E608569E30092CC406D99A5A45CB1A4ACE5D3F5D279979E0B003FF51CC1C60DD231BB0AD0
39899896045C0D6D458682EC4850A2CDBC372289D65B1C833A1B2AA70B38A9E0CEB612F26852F302B5A0CF5AA8F9D5C1
D8636CD947C2D6B2BA5F829A831A071948EE4FC4E5449A7FCA2038F35DF62264312D7257BADD9F973374A64C178BB1C8
18A2377C04EF4638D04300DFD77440F5EB2AC013815777192FCABDE25A3B1E07149549AC1B2ADECD3D907CA2DC74B147
7B93807D36B84D74B27F05BA5500D7AC4FB9961FC204C797B3E960F581BFA79544B1A2F7D692E16646E6F20069A84BE7
2B3A48731E2435367E24534F36C7796AA03854FC13CC90D74A9FC881C3D8E85B76FBB10040F0DADEE2394BBBFE6CC689
E9AE04EC52C52383F10FA0AE69AD99FFF5A8BA769AF472C7B8587328759DB9558D6C08B6421C1392068A4613B9957FBD
C27DB7E74DC276AAF9BE1B76FE58406CF5349ADDE09D39A5D01E100516CB839EDAEBCDDFBC304932ABF4B35384510C76
8E5DEDFFE776D3DDE74551160405AD8FA35D436CD15926D6060B133E5ED6F938F6B303EDD53A1B4248A0DDD6F3F85768
D0C484E5DA4F4654972178C1591805659FDF877761E5740E90748DFFF039D12484D10A6DE79F63AEAC8B5833472707D9
AD88B07BF050632D1662E4A29D91E541FC28BE2051F215522BE51C180B984AA55B49ACEDABC4CC953B7EC4EDFF6C5F1F
1F95FE9D93D9ABBC952670E582DC398F84F8A2B04874BA3E39DB40C59602E219211533F6F9F6049E8BBC2FA53D983E6A
31E84FCE124EFFB36ADA32E8C50046D6E8AFD3820531EB3B040196ABC1B8050B07ABCC2FE3A9E3CE982626AE1AC30E92
EC26144F905CE1593B4F14
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%!FontType1-1.0: AAAAAI+WenYue-GuDianMingChaoTi-NC-W5 001.003
%%CreationDate: 4/20/18
% Copyright 2018 Apple Inc. and its licensors, all rights reserved.
11 dict begin
/FontInfo 9 dict dup begin
/version (001.003) readonly def
/FullName (WenYue-GuDianMingChaoTi-NC-W5) readonly def
/FamilyName (WenYue-GuDianMingChaoTi-NC-W5) readonly def
/Weight (SnapShot) readonly def
/isFixedPitch false def
/UnderlinePosition 20 def
/UnderlineThickness 40 def
end readonly def
/FontName /AAAAAI+WenYue-GuDianMingChaoTi-NC-W5 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.0010 0 0 0.0010 0 0] readonly def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for
dup 0 /cid1010 put
dup 1 /cid1026 put
dup 2 /cid1110 put
dup 3 /cid1390 put
dup 4 /cid1507 put
dup 5 /cid3146 put
dup 6 /cid3670 put
dup 7 /cid3728 put
readonly def
/FontBBox {-195 -283 1196 944} readonly def
currentdict end
currentfile eexec
D9D66F633B846A989B9974B0179FC6CC4458BB4CB99E3608702C78822367AAF89059868F63F93207640A6BD5DA214789
139C491E02A37BF3866F2964E8D690D48D9F6C4A5EC22355F8123573812483E06B968AE84B5F20A982A0E65764753516
97AB8C6EA040355C5542F297D7A3AF28AB93EA0771E0D56DBF00F7CA9CE9FB9FC2E0ECB00D04D5F5F3F24B987B546D62
74971A477DEE12C44623C180BCDBA21172627610C4736632D1A4693E79719C3BC43DF5330790A52DCD4CF455ACC213F6
B1C4BA249179DB360225568161552A16682E3A3604BFC39D571B1F8F18375BECF1C5066694AE864EFC9A863DDE6D4B9C
BD0D2B278C134BD8A60B58EA633EF6B5FC94A90A2396C406684764E79A3225DF9754A63B72D16FB185A5BCF2D58F4608
684F782CE77F672453E416E53EEF765BB1FC0A7604BF819DD28AD73F6D857A26B50F7E388414B50F2E8DBF6CE483654A
0716F946586F8BA2BE71149BB2C010F2FA300E1D1DE9AC30F09FB927CE9E9F34F5FF60F8719241B28139D8AEDC3A6CEA
601DB9E54C92120E60C36878A3390FEF9F8EE6949EAEAC849422FE2609869446A9ABDF57284A1536F6F3C4ABA92E851A
18C705EAD525D9E63B31BC06B9BE6FB274F3649CAAD0B3522BE05CD31BC80228E9ED50882027BB21B0C3C1C44A10309F
BF244E71B0BBB7A2878FB008B977275B31A19269F5C94F697058E92A23B61A35E034C32559619377B0CF12525FC025B2
97984527181644C39AB832F23D3450218DE3295B31FB3BD7BD380F14876034AFAE253BA21C5C903C3E439234298DCE66
EA759AB3C8F4B7C25115F0BFA4C6C9E3CE4E00AFD6C0BD228FE88CD3FDE39A00EDB5382B0DE77E2925F078C87179E00A
FFBD081E4868D569543E31CD8AF244DCF739C603816874081CA62EE971A49295C049870422A6D6AD7724BE447AF9E3DB
4422208092DDE7A289BD9E3BB95A7DD10AEC1EE3E8589FA4C03A4A9F49C23D9B6CE52F8C9FD7DA4A56A4402F809B1547
CD82AA867410F1859ED6E7ECD5AF7BA950910FFB44361DF222E215995FB8CE3D1D2DE312B5DB41946E70111600AD5902
3DC9FF2C7929F419D19D711B96912C06ED0F0E6D18E8941D571C3BCFB148506139BFBF511D5F6A1E28001A79097D0CF3
6A5A05143BF1D3378F037F643371403044897AA17331E5C4A942D441CA2B7F39ABB4A358BDA0FE8E71B6347421A18172
CF88CF4863AB716EF61C9F312ED7A36A72B435CC6C988B27E97FCDC3B603F737267C8786505DE9629E2F0BD4883BF5A0
02AB4C925B0276E2AD198103F892E69F29D6B6984482BF81F5670846D213EAE8008FB7CCC5704F8D705F284E23EC13BC
D3BF5121682FEB6A69BD84D8A5B43B106235EA5B726126FA66A25EA9754CAD9B4F9B10A3078E4A43DD7462442D2B952B
A4E145ECB9BE0FE876F35F5D119BBE82C2F96230561E204DE6E355A05819535BC0ED803254A96E833B2A5284D106BC9C
7AE28F578DF163C896A9D081F34858B43AFC38764FB52F5FF496BA3DE42B2557CDAAEDCAF9646D466D6F6C958DC16139
748658E36836D2DBEF1C2B301DB7AAFC0BCCDA149157E076E50BB4F33AB7465C7AB1ADE8102DDDD9EEC1FA8C600C33FC
A26A14800C1EE28DF2E42F5A41696E448F03C8066134571AAE7FA5FB843E98C3E87248B3D07D84469EE0CEF1B43D94D7
A4A129214B6E9D1C00AE2D86AE3031700BE408A4F43CD63F8C32FAE965B6B48102EF0482449DCEFF87EA33B87BF7ABAE
27CBA7F61D0C492C49580D8CF61E36ED3601F5783A7E89A488DEB178F2B9EA0A392D134B71311FDCF2914F917B8D579E
95D25E274B62B4837BFCDF2E0C0EB3DB966D60BFBF9978DD6B92F8C6C04AFFEC00FF16544ECC2B19DF9E4116A4C12392
E7F4853AB7100D7AF646A15E7BBDED7D2AFD5104841E4152EC870A3417ACC2AD94FE7BD701C6545F7B94CDE2A9192D0B
AFC0A4F605BD068B07608B5CB69B80B4721BC6D24179BA5AC7873C1E67DC46C12815E06C03C36A597887F840B3968D4F
A8A5BC71C97A20F23027B53B4578A8349C3471C00B50D6DF6A5A5EA28AA6053F843B0E04B80C3ECE1B972F8AADFC3808
734C634E800D374B1627D63C40BD9FB2143F0F55F15F1379FB890ACBDD0B09FB5AC5494650EA151DCC7DD66A0EC5AB8B
E200500FF3325077CAAE686EC287E4CA2543F1D20778132BFE3D577DD7A19688622FE62A30BFAFB0AED872F0A58B4EA7
09F9C508EF7566B80EB4A2A3FF0B6746DB529C56DA07ABF197A9AAB43B219244F055A12644C37E749E783FA6CD7BA046
66B106F0F22178C7677F52041B6A84CFB46EE4CABE03EA68ECF0EB73C1558D0C7FA22A33FA7F1DD378CBDD2D69EE8434
718DA604ACC1E3BC6B07D5FE7779BEBB7ADAA6A2D91A15FF2AAC2AEEDA1AEDE8264C3BF06D6D8B87F39E8AB2E68ADB42
8553DAAA55E04779F87F3F510AB1BF1DE2DF2F0332FB7E021E08F404F07DC457D40EA2426CBA8E7B5DA26F69C7452417
4CD84B664F322571DE995CDF0399FDDF9226B3668F2CA007EEE3C8E43B3A1EFFE1A391DDE84CA6E33C311046CFAE8722
BCA961117A23A6D48F3B07AEA5366F9E2D7E9468215613D7340696025353A9DDB826718B3382BFB67690C1B546176BA3
4BDB93E28D08425982FA40AE15CC44329FE27C0632E3ED1F9AF141337F3BF5E05A8DB056F674D3DEC6E146BB026AEA07
F3429A06C4F1539027C5C8A8829A75F47BEAA664B43108CB0ECB20409D567DED7B578191A7FE9613890DCBB9DEEFFD4F
8BAE6B014247DD710F027D5DAD2259C7804129B11467344C2357959225C18C721D3C6B5F1E2828DEC1CE52F83526EC26
2FD0E3D1C46474119C5E65C477C68644FC5F9B8AA8684340F2D31B7C42E7E403D60A41CBF7183DEC2DD44A797B782F22
9E419C76BD94EB85D4AE62FA2C39C8BBD9E2134B923BE1407CB3C536278164E8091118B7CEE91098D3150128749FCB5C
2B62A4637420D0B978D1B3F41977D5956D02B317B25FC00644B5E2185BE866D07C5CF3017F95C526C08252FD0E27C1D9
CD1682034A9F465A56CCA259BEBA3467D7021A57687CA31416609002A0B958903783E93720E52F65C2B5DF7EEA7CABFE
783E94CCA72081ADFBEE7915F335AE87A4CE232AF57AB8DBEA7FF03D522FEE08CAA1C8596C68266CB6A552B177720FF1
C6EFA3ACF756F941643E2612E8A71E0AA2242A1AA793238CA12513A50245E8DF2BF23A9E8273F0812773349FA2E8FC2E
834CAA4EF5C2F1016DDF1046D748B2A6B67557C3696ADDB7CBC6F0E0A7FFA53E72CBF04BF52062AC5492DF22B5CADD7A
58AC9A67152D18F6D0FA9E17C8FC549EEFB601EBFEE4D14179452E9E1756B78317C20DDC55232B2F42A2D088A05E9BAF
4FDB62B224F71DA59CB5DC9D7FD8A435CAA7BC78BF96B763BE87534B801C455C5EEDCC126DC7AB1A1B8BE9A15754BF1A
B39190CA29C702640C5DBD56430CDAE36B7D8ED505559DAB6EEF78F4342E691E7B4BD8B5DE7E8B17A7D6C0949D977F07
08DAF620C2254F622490CB3BD015265DF5F18D9533C39F44C3D36015E3E772C6854639CDAB274E09B3B0608D1FB699DA
0E6485D30D7FF1FEDB4949845D25B98BC81EC0FD6B3B676C13E9619BCDEA157581D12FE654E70CEE49ABD436D646D9F0
37E4261108952F0DAFC8C168CFF5736328EE27D865FCAE7D9BB972F4A1462C726EBA6AED78F62DF152ED97E8AD6AFB6E
01C073999C7DA709405E0CEF91009015EACAB33D960D50BB76E27308EA1A2D776C42ABE2BB0592A7379779C86D78D940
3F4BE658528CC68B710FB26FBFF3188DD57C75C5CE9C096849DC0C497AE85B214F1DD76D490204568A86E9B390D26CDB
A2DAE88D012992C0E18190B21BEECCB3DF758B0E318153386B815700B7BD1954198D97EA2B7E788E230A0F2BB9F9D81A
327CAB932389127FB4DB6D85387904640269B051189199DC04679BB37A40C36043B1F3C84E8671CE033BFAE30B9736D5
38F0B94314A18587897F6524ACF6723D09444EE8BAF3781D1D4B8AC5BE5511BC2504EE889C25BB00AC9BC21C184A2030
36504F0E11147478B4D28CA56748121245B2FFF92E0FB189E4079A8E8DE37A21F082DED2AD50069B0024E01066523760
1F08846C6185F66E49A46B3DCB05DE71A9F86A7B51421EA2F0961C9D913F5A909BB9121527A3CE23BA565A84175B85A7
CA17E1A8623B0EBF9488FBC26D3B623142D6E9DF72ABE0079A980426BDACEB2398F0DFA8137DAAFEDE1EE211EEBDDD4C
F8342D315C58262F9B67B20A5E1A575DE570CAD53913C22248205A93F50F0E5EBCE901E9C720AC7D32247C0D939A69DC
D8901CDE66209428D7655D7F321B935B309FB61D51B2C633ED3AB283FDFC4959DC30743F2F6F6FD97796B1CF675FDA15
7D3BF37C617CCD694C02C538BC7B415C24EEA6027DA51F6772C9079108390BB78E0A9155ED1940F076BE8BAC47DDFC21
6D0B0ACC4C3B530F28F5F192658BD3612585F5AB2976D79EA5C12459FA6C8EE3240476CEA452D24AC9B8869CFBAD1634
3640A598A071A2CF60FD180E98DE3C67763A7A0C15B5266AF8531CCAE51D265649E14FF52B2DC42A08F6394704111A80
7CD3430021002F2B259D4117BA2ADFF3D2151EF613B9CC31091EAAA64D645DC5B4BC931C157F79A94A77CB5D3C942AC7
47C4D880C06E33B7FE857D02D06B8BE7D58BA3CEB7901E3761DC49EFBA43B6E2C0EE09B16A79FE5BFF8F111934809335
88F304F749CFED31541A6399425FC21978CBEBDF39AEABDD4B88A6E208B1B32DC8FD4C2693F2DCCC04FBDF27698D34A2
94A49B1C1E8FBB92D80FED12ED489687F3823CD695AB861BD4A72293E76C42F36C7034A0A8667B59879685DDC1821092
A246FA1CD138CF7CB18DEBA6122F8B8022A1E964F4C186BC2690AC9E7909956A18BB5CA4878977A2A7483ED4C2FCDBB0
19242303DB7A3BCC879DBB8F94A1703481B4A999ECD312C481C100319328F529187F7E5B9001EAEFC923D80B37C3AC41
E6A8F6E221695FBABA1EF59D97F8AA0E940BEE2E4DC1197C337E7C1500ED087F690EF355956D69606178106947E661FF
647AD8D09315866463583D5BD2390DC375AB4A0DD0FB658F4E271F1D3C37E1CA3BD2D059263D128463CE93E9CC0D26A6
0CFAB53C098AE47B0663F65BB5408B9EA8911CFF6784897D1C7B6B2B2FA96530581462AEA98F01BD8E48C8E923F94C16
FF1247505BD23A5667DEC05AB78F83B3E7D0097F372F5D663620CAA01E2DD8D44F74D7C1D7F9ED8190788CADB928A3E9
D575227216AACAC6AEB2836A8E108817CB7EEC70F5F2AEC42D4BA1F4B882FE2AB1137A630409366912B9C12761BF34C2
4602A8DB9386D53CB781503F9782763A95523D973BEA0B983D307FDCC5802047459833C22706C198FD6CEFD8B1315E44
041691D1A5697BFA33A58B458242194C3E2743F442F222F80B7AB03A2E5E71C44EE44594DC0DFBDAAA10E5444585B529
BE06F68B21E7A12EE4B73576A365703F618575FD32B7B6BE47E3521048375A0FF14E6E5EFB3AAC8B3881442308517D36
D55A6CA30CACC0E3464D2D5EFD67A0EEEA87737375647FCAB4B5338F7E8FA83BD4CF5792F91639B61602B04673D2DD09
5A3B37A7C9D5D75D5BD91822DF859099F2ECB5FD131C0070CD2D8EE8D70C0C4FB52300BFAC9620CA7010871762E533D1
19A0BBBAAC07C92A4F42E1DDCEDC459D2C9EF8970E1787BD4A4D9B399A0816ACC8C8D60E8931007DFF7CC3FFA7B884E1
B747D6F5883D621E4682AC770972E52B664EFC0F15810FB31890E3CB2850BBCFB6B7773F5B9B33909A2616ED784E93DB
14E6CB753BAB8655552CBDD8037516F1E2174D3F1AEC2D18B2B72F141E056247EB9185F7502C09BC2FEA5037F88E1A97
7538CB544387FFB1A3121D6A53F4E739B5349D02FBE1A89C3F24B24EA74D298973BE3C27155AECD3B7FC909B3F5048A6
E0C8B664C8078A26F78F42A366470489BB444B5DB5182C784F2405A65EA90E9EEAEB46D104C61E295566F307F740008F
99020D5F1BD97523DDC0EF56E8A73680CAB742ED78CE4DC3600F8D9314A44B202424263195897A50AF243C36D8EE7707
DE7D514FDEDC5C4AC6D92A34CE92D3CD24F07D1419320D77780C96FCF49744E7510EEA0D737595D6A0FC71F0647599ED
AF7B7A791BDC9EF76A124F486DE476ABD286DF1AA20EDD8A43D2E85E41115B65417A60A0B795AA12897EB72C58CDD22E
CA85904C5D749A5E6F7D16B03B1641864D4C0C655D8AA5F2C73AA8BA1D30E377D6379F8B328EBF321262F9621860101E
86793465125F7090569908BE1618A9FA8829CA86561F24226FF0639055ABE4DD3723CF3D79EB8ABBCF78F72FA8601D83
D78265E819F4596E27166BC4C16B0D583A1FB6E03F02CF001A7AD3EE414324FC412734A374AE7FC9C71843056DE150F9
77E5F7D5359EE7DD613521280350AA03E6B32BC7E8B517171F832E1AF43F00AAEE2071B0D212E375745348C682D9DD3B
4E95FA33CBB5E8914EA6F746D8CBB977C96248D21998680F88012E135194F1522AC571ACE10359CD1A37128BEBD5A0EF
57C0762A5094B7CA720E1DA3D4FCD31A997D51DABAE899F3416515639D54A63AD412BA142787170ECE739D329C1F549B
2D92CC11690AD32812667E722A02B542857D02112C4FD5B62DD96BAF828F0CEFB1B3440FF35D196884EFB22DE1151987
D8C847C4A903F027832BD10590212E2388FC57F59B7245DF2B7F6FD2B12CCCC0857CE462771EDF42CE246FA1C152EDAA
D1839B3423B8CEC516A76E0A41393776631053C18FCC1D94D8AF96E89387C780C1DBFF6A37E36D2E154340B2B3564C3A
0E6C070C1940BFEEF042F6BEAC5CABC9DAF7CA866360F0FD5C71819D52A64D1DC5624B35A09CEE89D27B65EAE983A756
1BC784493A01ADAABAA943108821951908A4E40E07A4A7FCF3E47E6E7B667B214A4431881BFC3D720997B1CCD6F5EEF0
E9FF4050E3100916C6B5FB7A661B0A2259CE7315D9B863B36A88F46F36EFA3444B164B3383D4952889A352F2B7BF197B
6C76260D9F401E83389E62380ECD199F2302D0B2CBF99AC1EEAB475C9AD29D2B3AA379771A5CB448454B3A09A349CA1E
93DFBD1BD915C08498FB54987C6573C2CFC6F453E86B84C35E42E2EFA235E0584621CD39DCCBB002537E2A55D6F2F99D
DBD924CC5D434D45477190B9C3787ED0B93BB904EA73089F19847887506801F6E4FB79EF3CA0C88F95CF6BBF2AC8D96B
66427689E8AD5DEB15747E1B6FF1B1BBC937B0CE9E58E3697F4210BB894424847028C2210A64221F07ED47C6C7B3CCA9
38094C2343987CE9B52400F6EA83762FD13A8EDC5FB2280956D69679FE3B78507CD5ABDEC034A2F3F51C3287FC7F5C86
42DA600578D8F737486CF10EE13BE0F6E97F831E6A13E71D9FFB74FDDB6B7B3CA45D1951E06D94283F218C7814DA1902
CF627616E779FB13E292E9197F07ADC7DB8947312CBDD37D6CD9033D2B653BFB123807123BFE1EE751E23445F398079C
BBF945EF88E277D14080A434D477860D835B14DE87BA77E759FDC657252C3AE88F49BD8789638DF4249BE3D09A9894E9
C61FEA61F5F1520F8E1FF36AA6C3F273E693D80A57C86FD14337F4B7C8BD4353324F5782977F8FE39749709AEAF603D1
EAC1A6D424044BD9F1F301913666983514CB8ABFFF17EC51B9108482C1ED93B6C649004E90F03946D1E81D28AC3E6BE7
7A5F29F64E12B1B194A41AD0D4C156B3807C671FB05D2951C74130728700635599564D095C27FA8F96AD343ABB9755F1
A7FD56FB03EF60ABBFC8114E608569E30092CC406D99A5A45CB1A4ACE5D3F5D279979E0B003FF51CC1C60DD231BB0AD0
39899896045C0D6D458682EC4850A2CDBC372289D65B1C833A1B2AA70B38A9E0CEB612F26852F302B5A0CF5AA8F9D5C1
D8636CD947C2D6B2BA5F829A831A071948EE4FC4E5449A7FCA2038F35DF62264312D7257BADD9F973374A64C178BB1C8
18A2377C04EF4638D04300DFD77440F5EB2AC013815777192FCABDE25A3B1E07149549AC1B2ADECD3D907CA2DC74B147
7B93807D36B84D74B27F05BA5500D7AC4FB9961FC204C797B3E960F581BFA79544B1A2F7D692E16646E6F20069A84BE7
2B3A48731E2435367E24534F36C7796AA03854FC13CC90D74A9FC881C3D8E85B76FBB10040F0DADEE2394BBBFE6CC689
E9AE04EC52C52383F10FA0AE69AD99FFF5A8BA769AF472C7B8587328759DB9558D6C08B6421C1392068A4613B9957D30
E0A498C9C76D03B645E230CAA6E960AE128D6EEEA4E8B18E74B30EC33064E82B283AA4ED14A3C6B6D6E414E75DA8A7E6
7B3C76763161A9CE411D577B8FEB4E14E14376B11739C88D46A3A3F8512FBE2CBEF5ED491CB01D424DBF343EBFA47D41
2156A5B063286D86344B127E69CEB44EC6F227561DE1D8B35EC2E6B2BB83A0F39668620826E54D155A145BF1DFFA5B60
BD50ABCBA0D9A3784317D53C5C961F6B189878533664AAAEA66D7F6B5ABE7AB8A2329B690889E2F5088D8964CEFFA4BD
4A69957BE9A90A9B47C0B5432281E391D8D0DA96D4B949B79724912E9159DBAEE8EE556B1CA7408E7D0B21620479CF82
029E83237A5C59D2F6EEF4972A3EF782C5B47A7E27CCBCC4A4FBAD0742D074F13798D4683C0CA4036AA673A75CE8CA65
24264383123CCFF8CD90620AF5023CE25F46B2ED3F79449AB417DB765E283B43F5EC7E0402AB9A4B271EC663CC64B831
3338120D3B34003FA37E62601D0795B5DC7E2914C2C5FDDD3B175EE9513766213ED6F74C2B02E68DE34626EA8987C279
6D8EC373C344A8B567647B28412C385ADB6CC10612A4CFCA997D4279E0DC5F1D6A677F11196EF0C171FAD7B06AF0D831
9A2E897D08961B05AF8419517D9F49B5384114A3918F982F72AE256FC5A57CC98707EC1AADA6C2E6D1934A73A9AA0307
733572C4C243D95F3DBDAC67244C2E918FB9F10092515E7A0FC2A11A40B53EDE63922A99E150051D4FFEED6A088AAB85
C63E03D5BB2E3F8E21EE4E5EEBCA4EFBDF0349365422CF1921E818C738D2E5C66C01C31BA2D4855A765E2DE6D4026509
FFEB30871BCB737C154521AD2D33CA392D780E4582F2211ADF57BE6A179F4FBB155B1D568378DC6F97E82FBA3666AD17
CD50E9DF36524FDE778FEEECBA0BD1E092E8A1E75C6724505327E3C4DA69DD7B17046C236517B379958CEEB5E93442D3
C7BB0B0A5A55C640C6A12DC252465C93890289416353E660E7F1A880FAFAAFA7F341822FB77ABAEB31481ED4C7FFADDA
B7964D8081B697E025E06B0A203B401F61984076647C7AD254B2E64154598C20CA33B57470AB09491FD8343675BEF6FB
06B7F0F8FC289C4EE01363E2911383A47E75D2388CE0127BD83476C163288B5078E32C541816C449C322B1C415431A95
A0D5A3D2A5860D4745F0CF156D74793DC3120F77FBBE1E8C458E8FC9845ADB722803CD0DA744EA95AC1F9AFE1EF8C314
076ED1FE804AA2F74690A67541FAFD7B3535CE76735D0C91EFBADA3A805C268C34F235DBB6957414295A2265FACC0B29
F189495BB8710C1A9EE3B9D24C376E314B746FFCF2788BC64C3F783BD04541DBFAB145D253D7708D640B5A2A653E1FCA
047D6CBEB80E1FE535BF4B06947DEEF56FEEED3D4D4C3E7122B727183AB75EA773395CDD24E97BD5972232F116CAC464
931C10489017F1B49A714E9579174F46935510A577861067688EACF3E2B4AB7BF1AA28E2ED303C421538916D6E71EE23
AEC0247BEDA5CF29CF328C01FB0C5A3E92B7A965960DEA68745C300BA2FB19A6036C9469B68F86021CBAD4CE896EDA73
B226CFF27D011B13613910944608347214D9A927466B19F1D8BC4E235BDF180127625ABFB76B806269DDEEBFBDEA309C
15A54E1970B080B06EC842EA8C3B20E19CDBB8CA170F30CE45201E22232C01EC6E97F6DD54B4A46C983C892A9BCFB4A8
6251BF7025F396BA67B0256183AE56A114B59CA4E49DD312BE83BF590905EDD1B6761AE490621553EBEF4B28479640C3
3D135D5C1610550373B95B3DFC49FCE73774AD7DE84C547CBB9D8A9D59E96B47E001ABD5B1DB76AADC2EA4F52F44827B
A2A102122B7975F2514CB67F6CF73E0F5F7BE716CD259E5DC7B5B3850E99FD3581CBC7074744EECDBB88BD85881480BC
77FF117D1DD41582BF19A41DCFB7FB3E6FE35627BC0BD041C8B199B00F57724795BC65AB53FA8C5FB2E4F312F322DCC7
5490AB0B4BC806A568372F04190F5FC3391C534C5ED1856DF30C278B07E32608EAFE1CF3B3FE5840CFD437E173C71080
4E20C0BF2FCE0FF1C416B750A0C313CD42F42EEC74575A92A70591D7E5A508C58F4214CF13AB01BB50CA558D6D4B6F2A
E595F797C4F152BB9C5A98265C0D57DD8F54F1E656DC8197487A4F5D6FED61B8B6037E0A147E23A246A19B50F9042A97
F085DBCE69DF601C08434254AA78D4591D5479A1F470CDD10CFC3D77992132D1B965F6DE91698583419C5AB5D341240D
CDA265CCE3A526C01B4BE9D2715D471809E727693AD4A6F538AC3EE899A17383B2A32D49942184164C149C035145986F
3C195802F2DD35701634DFAF7059690562FF1929BD7C4B5EE9691A78BFFEB17F5732F687240A15923AE951083EACA54B
87CABF59057F0878C92673DC9CE6D1C7A82FF4CBACB14CA294F81C5A0927C8D4216E8181DDBB9DE4691E2B6C831A102A
32402AE929885A47FD07E01D53F66B7E576EB04C3D106A89DFDE895AB681C103599DE6C5020E5B1127B5791C127DE411
18EBAF8CE67630467222EBA726752EC143D13F86D23D2BEAC2301F99CBA4A0C7DCB6F3CEAFEFEC4FF775F0AE9D63CE82
97A3D60C3ECE7115A5EB1BD6C8466BE64D3339B185583EB36F30C9E108F78AD47EEC70C3A893F5E13857BF2DF9AB37EB
9BC272A8B35CF78E16D8E9D4370D16AE272EA7A8A9ABCAA56E5F9B48C84DE86FCDDDCDA425FEAC22934A82D33906E56C
82A103A16E48C7A8D0CF85C21ED89B1851E3AA4ECD784A6696AA8B77BF59E8CF5C0826E486C5A8A04B6987D579CC137C
3B74B4C4912F1A9C5AAC342C16C8D942E87E384798FD963EF769F15B242F835903AE4F22A6894C9A8C280638B0D5375A
4C26617F404AC39BDA76009F4FEA4CC70BF98077D6FB3146C293FF0638B35B4384B09D0F2F6E070F477A02C43ED8134F
7EB6F8FA1029E8B0D145B5ADAD55425368F19FFD5E96EEB0DAFA0121045CF0F58CFE5373EA9930B632A946AE2A88C5F3
48A7C1D062D730A1EAE1ADBF91E94663B22BA74366BD4722FC968A329C0B3A47F3DACFEB37D3D5EA284FC7E32D56B25F
2D43124D404D2C1F0E2241EC86207CD0168CB1527A0A64C64F1BD899DF92489443EEF39495540B851454ACE34233CBCF
1F24E7E3B2832F0290489492BEAFCCDA289E2D04971D7F74AEB5AC6015A59F9B29FAB5885B52473920D9FE6D9ADC1777
D32809CC246025906D3E8DEAA6D316B87D0E397026E0B7EAD307516C3AF048B13BE0BCA93614A284B1ACE2E18B38D570
FD7526076D18AFC91322A226A9789927387306D5D708543F977D74F43D4421ED94DEF8BCBCBA83FC54AB163FA8426499
8D2E7709CCC7B27DDDACBB4C36E2DB2C041CF8CD916F4D359B1A1BAFE22255475111403350FB321C1A737D04443EB13E
D8300279D5AD9A2770C92183722483A6E35775E3261268B9AA82B2452ADA61430ECFBF0C1C43BD54A132A9AE9B300959
D2B3EEA26B2F46C4C5FE10D48F7BDA0945E6CA68FCBD858B58B611FB60E823112557ADA08CA6A4078750B3B255819389
C146D5D3B3315D8C8310F3305A7E82B3F4011A322FF661C6125EBDC0A8CB7036BFCE65653BA53AB261A673B4FD3A80FA
447DBD6E5D4FECA828CDD3D4B4C1BBABC85E34B4478A01DD9EB367CEDBB731DE7DD7EBB6E7FC4CD3F0AF167695EED3AF
B795D8FBF0779A6B94C2975DBD159913A8D2EDA581A7608D8F3CC463889BE2C5C2580292873515DE2DE1530FF0330AB0
B3EDF697749A9D5EC4C5A54A1BD39AE7181ACA1E4D225B4444E1F24A97E450B627AAC0EB3C284F57DC37019EBDE6FE6D
0DCD9BE709D56A4E07793264808D196443395625F7C29FD16E0D58C5B00D9AC03836550D1116CE15EBA6D528F79EADB9
2E55F6F1CB724176F0CC15A433EDE9DAE4A37577F3E17E35FF16F86A2AECF04ED7D070848F402C464FCBDD43361BFC1B
9553AC3DE40B872249E32A4F048FCC0C6BE3029C3A313B04DC4B7DBC102769E20805DD3F6FECA3BA1ADD511C570A2887
7FD2CE053A3A79BF677652F1F834356502BC3118046A8CDDCA9313B86BA86B96A7D03F43074198492F9C233E767BDE5C
20177BDB51337576DE84A7463C708AEF5A805DF738A6D518DA84BD5F0A85027C077F25C457FD15E607DC9E4AC091F89E
9B956E6A4D8058F22812BBD132B1E96C267DD1C82F9E14F5AE1797FAB77CFBC902A26CCCAF17E85A6B27607DA636BAFB
4C0922B3E69839B9472951BF1A66828A02973F2B4B664EC5F0B898B3D830ADB7B99DB854BA1CC145C1DD31259848756A
FE490DE550FD174E6A03096175F7E7D65F6796BBB4E6E5E517B78E3AABF494608156357A3FE2205BE6D115A6911525CB
AFE5DFEEFFCD816847FD40F88A21C99E8C2D94CC733D2FAC49F01E8D4B2DCF5D6F11432F1DDDA374444E7011565FB392
F55C6ADAA3B2B49B97C310C12F313289BB03FFB5D35DFE20938900D8F850770935BABC45A8B7363FD2DED554CA799E8C
938B3D517A6409F7F46B8A46917F58D9727C0754F5743E6AA1FA2FED3E91FEC0643EF517F544C7DE6CC44CA4A2EB4FAC
158C7AD5A94B9E9007BCCD0D385D33E0F11F885103583E5C179B6EE69F5F0E7315ACDF5C10DB62CD312AE6D903D424EC
036CFBEE7B20500A5EFCB95C158FC767373CB96794F0C859E91151F1DA15720F33A18E225C0B7133E70EB742A4AB04DF
D49575C29ED82FDC68DEFC1C239353973D19F23EB93F00DEAF6911239C1E969C65B565F68E6A814CCA177EBD3D1A2081
92B437B996B406C1ADF49E30A6C4C5A8AD2C08F9C69C783B6A43DEA9A20F7CA775C2C8973636AD020CB61F7E2FAF1501
CD2AC6E2D51E26F07C2109D4F2BA078C2FD426E1FF1B84146F09A9B6B32B17A856E990105A5C5E36531C30B07CE95E31
A75BB6B251C40401A965DFD44183E03340A9ADAA7664F58296C48CE643798CEF96F79D79426EF31700306DCDB67FE2D1
03B70E755BE2277BD430B369A0AD46AEC77F3470457EEEF75F514513C0B6DAB9C44D817C2BD76238C766AB29399ECEB1
D70CBAEDB9D50A9229D42F914901C2F62BA32C7D8795E3670A5C1D60AE5EE1AC35183591A9C7968730042F87A8B7E267
8BC19F7BFA99CB005899EFA95401FF6CBCD0175967DED2B7F389EF912BA0E0C1098F77022AE4AF36E49A7A285D06954A
511A6E383372B8932BC01EA3A14A550CFF2D008DAF42820D25BF9CDB41791C169219CB2B322181833134A76B1AE3BB7C
4BE043109740A6C6D6C8F2AF5CFFAF05AF740FB60CF4C188413BF4161A5564F455A80E79B45074BE4AC79FC1A3D22F0F
D6ABBB839A1A99671D9EF6BBCD6AAFF3C6AF5C1D29AA67ADD8D20F99D8C21573F8AFEA6B54D0F2E6B28791E86098079E
56FF937E1938390BDF5C7CE9C7B15409C78BEA6C4339922C
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%!FontType3-1.0: OPMPND+WenYue-GuDianMingChaoTi-NC-W5
19 dict dup begin
/FontType 3 def
/FontMatrix matrix def
/FontBBox {0 0 0 0} readonly def
/PaintType 0 def
/StrokeWidth 0 def
/BuildGlyph{save 3 1 roll
1 index dup
begin
/ShowProc get 3 1 roll
1 index /CharProcs get exch get exec
7 -1 roll exec
end
restore
} bind def
/BuildChar{1 index /Encoding get exch get
1 index /BuildGlyph get exec} bind def
/$SP{3 -1 roll dup /SetupSubFont get exec
dup setfont
exch 0 0 2 index stringwidth
} bind def
/$SPW{4 -1 roll dup /SetupSubFont get exec
dup setfont
3 1 roll 0 0 0 4 2 roll} bind def
/$SPTW{5 -1 roll dup /SetupSubFont get exec
dup setfont
4 1 roll neg 0 3 -1 roll 0} bind def
/$RP{6 -1 roll dup /SetupSubFont get exec
dup setfont 5 1 roll
translate -90 rotate 0 0 0 4 2 roll} bind def
/SetupSubFont{dup /PaintType get 1 index /StrokeWidth get
3 -1 roll /$SubFontArray get 4 1 roll
3 index 3 index get
dup /PaintType known{dup /PaintType get}{0}ifelse
1 index /StrokeWidth known{1 index /StrokeWidth get}{0}ifelse
3 index ne exch 4 index ne or
{dup length 2 add dict begin
{1 index /FID eq {pop pop}{def}ifelse}forall
/StrokeWidth exch def
/PaintType exch def
currentdict end
dup /CIDFontName known
{/Anonymous exch /CIDFont defineresource}{/Anonymous exch definefont}ifelse
dup 4 1 roll put
}{ pop pop pop get}ifelse
} bind def
/ShowProc{systemdict /rectfill known
{0 setcachelimit}if
6 -1 roll dup /FontMatrix get exch /FontBBox get aload pop
4 index transform 4 2 roll
5 -1 roll transform 4 2 roll
setcachedevice
moveto dup type /stringtype eq {show}{glyphshow} ifelse
} bind def
/FontInfo 4 dict dup begin
/Registry (Adobe/) def
/Ordering (Identity/) def
/Supplement 0 def
end readonly def
/FontName /OPMPND+WenYue-GuDianMingChaoTi-NC-W5 def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for
dup 33 /cid1390 put
dup 34 /cid1507 put
dup 35 /cid1110 put
dup 36 /cid1010 put
dup 37 /cid1026 put
dup 38 /cid3728 put
dup 39 /cid3670 put
dup 40 /cid3146 put
readonly def
/$SubFontArray [/AAAAAH+WenYue-GuDianMingChaoTi-NC-W5 findfont /AAAAAI+WenYue-GuDianMingChaoTi-NC-W5 findfont ] def
/CharProcs 10 dict
dup /cid0 {(\000) 0 $SP} 2 index /.notdef 2 index put put
dup /cid1010 {(\000) 1 $SP} put
dup /cid1026 {(\001) 1 $SP} put
dup /cid1110 {(\002) 1 $SP} put
dup /cid1390 {(\003) 1 $SP} put
dup /cid1507 {(\004) 1 $SP} put
dup /cid3146 {(\005) 1 $SP} put
dup /cid3670 {(\006) 1 $SP} put
dup /cid3728 {(\007) 1 $SP} put
def
end dup /FontName get exch definefont pop
%RBIEndFontSubset
687 | /OPMPND+WenYue-GuDianMingChaoTi-NC-W5 cguidfix
688 | /F1.1/OPMPND+WenYue-GuDianMingChaoTi-NC-W5 renmfont
689 | [ /CIEBasedABC 4 dict dup begin
690 | /WhitePoint [ 0.9505 1.0000 1.0891 ] def
691 | /DecodeABC [
692 | { 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
693 | 1 index 1 index ge { exch pop } { pop } ifelse <
694 | 0000000000000000000000000000000000000000000000000000000000000000
695 | 0000000000000000000000000000000000000001010101010101010101010101
696 | 0101010101010101010101010101010101010101010101020202020202020202
697 | 0202020202020202020202020202020202030303030303030303030303030303
698 | 0303030303030304040404040404040404040404040404040404050505050505
699 | 0505050505050505050506060606060606060606060606060607070707070707
700 | 0707070707070708080808080808080808080808090909090909090909090909
701 | 0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
702 | 0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
703 | 1010101010111111111111111112121212121212121313131313131313141414
704 | 1414141414151515151515151616161616161616171717171717171818181818
705 | 18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
706 | 1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
707 | 2323232323242424242425252525252526262626262727272727282828282829
708 | 292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
709 | 2f2f303030303131313131323232323333333333343434343535353535363636
710 | 36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
711 | 3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
712 | 4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
713 | 4f50505051515151525252535353535454545555555656565657575758585859
714 | 59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
715 | 63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
716 | 6e6e6f6f6f707070717171727273737374747475757576767677777878787979
717 | 797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
718 | 86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
719 | 9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
720 | a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
721 | aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
722 | bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
723 | cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
724 | dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
725 | eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
726 | > dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
727 | cvi 3 index exch get 4 -1 roll 3 -1 roll get
728 | dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
729 |
730 | { 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
731 | 1 index 1 index ge { exch pop } { pop } ifelse <
732 | 0000000000000000000000000000000000000000000000000000000000000000
733 | 0000000000000000000000000000000000000001010101010101010101010101
734 | 0101010101010101010101010101010101010101010101020202020202020202
735 | 0202020202020202020202020202020202030303030303030303030303030303
736 | 0303030303030304040404040404040404040404040404040404050505050505
737 | 0505050505050505050506060606060606060606060606060607070707070707
738 | 0707070707070708080808080808080808080808090909090909090909090909
739 | 0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
740 | 0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
741 | 1010101010111111111111111112121212121212121313131313131313141414
742 | 1414141414151515151515151616161616161616171717171717171818181818
743 | 18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
744 | 1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
745 | 2323232323242424242425252525252526262626262727272727282828282829
746 | 292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
747 | 2f2f303030303131313131323232323333333333343434343535353535363636
748 | 36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
749 | 3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
750 | 4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
751 | 4f50505051515151525252535353535454545555555656565657575758585859
752 | 59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
753 | 63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
754 | 6e6e6f6f6f707070717171727273737374747475757576767677777878787979
755 | 797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
756 | 86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
757 | 9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
758 | a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
759 | aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
760 | bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
761 | cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
762 | dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
763 | eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
764 | > dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
765 | cvi 3 index exch get 4 -1 roll 3 -1 roll get
766 | dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
767 |
768 | { 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
769 | 1 index 1 index ge { exch pop } { pop } ifelse <
770 | 0000000000000000000000000000000000000000000000000000000000000000
771 | 0000000000000000000000000000000000000001010101010101010101010101
772 | 0101010101010101010101010101010101010101010101020202020202020202
773 | 0202020202020202020202020202020202030303030303030303030303030303
774 | 0303030303030304040404040404040404040404040404040404050505050505
775 | 0505050505050505050506060606060606060606060606060607070707070707
776 | 0707070707070708080808080808080808080808090909090909090909090909
777 | 0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
778 | 0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
779 | 1010101010111111111111111112121212121212121313131313131313141414
780 | 1414141414151515151515151616161616161616171717171717171818181818
781 | 18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
782 | 1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
783 | 2323232323242424242425252525252526262626262727272727282828282829
784 | 292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
785 | 2f2f303030303131313131323232323333333333343434343535353535363636
786 | 36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
787 | 3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
788 | 4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
789 | 4f50505051515151525252535353535454545555555656565657575758585859
790 | 59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
791 | 63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
792 | 6e6e6f6f6f707070717171727273737374747475757576767677777878787979
793 | 797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
794 | 86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
795 | 9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
796 | a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
797 | aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
798 | bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
799 | cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
800 | dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
801 | eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
802 | > dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
803 | cvi 3 index exch get 4 -1 roll 3 -1 roll get
804 | dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
805 | ] def
806 | /MatrixABC [ 0.4124 0.2126 0.0193 0.3576 0.7151 0.1192 0.1805 0.0722 0.9508 ] def
807 | /RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def
808 | end ] /Cs1 exch/ColorSpace dr pop
809 | %%EndPageSetup
810 | /Cs1 SC
811 | 0 0 0 sc
812 | 0.60000002 i
813 | q
814 | 0 0 450 163 rc
815 | 1 0 0 -1 21 150 cm
816 | /F1.1[ 72 0 0 -72 0 0]sf
817 | 72 65 m
818 | (!"#$%)[ 72.000000 72.000000 72.000000 72.000000 0.000000 ] xS
819 | 0 141 m
820 | (&!"#'\()[ 72.000000 72.000000 72.000000 72.000000 72.000000 0.000000 ] xS
821 | Q
822 | q
823 | 33.415119 161.53699 m
824 | 33.282528 161.53699 33.155354 161.52209 33.024117 161.51804 c
825 | 32.991646 161.51938 32.963234 161.53699 32.929413 161.53699 c
826 | 26.858765 161.53699 21.884001 156.70647 21.468647 150.61279 c
827 | 20.752941 150.75224 20.031824 150.82806 19.308001 150.82806 c
828 | 12.786823 150.82806 7.4819412 145.41132 7.4819412 138.75175 c
829 | 7.4819412 135.70695 8.5737648 132.86794 10.503058 130.68961 c
830 | 9.7629995 130.52985 9.0513525 130.29156 8.3694706 129.99643 c
831 | 4.1347647 128.26216 1.1339412 124.0368 1.1339412 119.10203 c
832 | 1.1339412 119.08714 1.1420588 119.07495 1.1420588 119.06277 c
833 | 1.1420588 118.99914 1.1339412 118.93822 1.1339412 118.87459 c
834 | 1.1339412 113.09908 5.1251178 108.25908 10.43947 107.07717 c
835 | 8.550765 104.90424 7.4805884 102.08825 7.4805884 99.090828 c
836 | 7.4805884 92.433968 12.785471 87.017227 19.306646 87.017227 c
837 | 20.079176 87.017227 20.842236 87.093048 21.590412 87.241966 c
838 | 21.589058 87.158028 21.587706 87.07003 21.587706 86.977966 c
839 | 21.587706 80.318398 26.892588 74.901665 33.413765 74.901665 c
840 | 39.93494 74.901665 45.241177 80.318398 45.241177 86.977966 c
841 | 45.241177 148.67003 l
842 | 45.242531 155.52455 39.715763 161.53699 33.415119 161.53699 c
843 | h
844 | 42.536648 86.977966 m
845 | 42.536648 81.813049 38.445354 77.609352 33.415119 77.609352 c
846 | 28.384882 77.609352 24.294941 81.811691 24.294941 86.977966 c
847 | 24.294941 87.59803 24.338236 87.729355 24.500587 88.212677 c
848 | 24.554707 88.371078 24.615589 88.560616 24.683235 88.779938 c
849 | 28.188705 90.793106 30.565823 94.624489 30.565823 99.017723 c
850 | 30.565823 99.766403 29.959705 100.37157 29.212883 100.37157 c
851 | 28.466059 100.37157 27.859941 99.766403 27.859941 99.017723 c
852 | 27.859941 94.035568 23.914764 89.982155 19.065823 89.982155 c
853 | 14.216883 89.982155 10.271706 94.035568 10.271706 99.017723 c
854 | 10.271706 99.135506 10.232471 99.241104 10.204059 99.350769 c
855 | 10.287941 102.50929 11.881706 105.37674 14.524 107.05551 c
856 | 15.050294 107.38856 15.280294 108.04111 15.080059 108.63139 c
857 | 14.879824 109.22166 14.306176 109.61563 13.68247 109.54659 c
858 | 13.444353 109.52628 13.203529 109.51003 12.96 109.51003 c
859 | 7.9311175 109.51003 3.8398235 113.71237 3.8398235 118.87594 c
860 | 3.8398235 122.72628 6.1154704 126.03914 9.3557644 127.47828 c
861 | 10.370471 127.90068 11.47447 128.13625 12.633942 128.13625 c
862 | 17.482882 128.13625 21.428059 124.08418 21.428059 119.10339 c
863 | 21.428059 118.35471 22.034176 117.74954 22.781 117.74954 c
864 | 23.527824 117.74954 24.133942 118.35471 24.133942 119.10339 c
865 | 24.133942 124.84099 20.076471 129.62413 14.737764 130.63815 c
866 | 14.709352 130.65846 14.691765 130.68553 14.662 130.7045 c
867 | 11.860059 132.4144 10.186471 135.42265 10.186471 138.75311 c
868 | 10.186471 143.91803 14.277764 148.12172 19.306646 148.12172 c
869 | 20.079176 148.12172 20.849001 147.98093 21.609352 147.77243 c
870 | 22.552353 142.26228 27.263294 138.05452 32.928059 138.05452 c
871 | 33.674881 138.05452 34.280998 138.6597 34.280998 139.40837 c
872 | 34.280998 140.15704 33.674881 140.76222 32.928059 140.76222 c
873 | 28.520176 140.76222 24.869942 144.11299 24.239471 148.46289 c
874 | 24.294941 148.64024 24.327412 148.82573 24.315235 149.00578 c
875 | 24.305765 149.15607 24.293589 149.30905 24.293589 149.46204 c
876 | 24.293589 154.62695 28.384882 158.83064 33.413765 158.83064 c
877 | 38.272175 158.83064 42.535294 154.0827 42.535294 148.67139 c
878 | 42.535294 86.977966 l
879 | 42.536648 86.977966 l
880 | h
881 | W
882 | 0 0 450 163 rc
883 | -3.8660588 166.53699 m
884 | 50.241177 166.53699 l
885 | 50.241177 69.901665 l
886 | -3.8660588 69.901665 l
887 | h
888 | f
889 | Q
890 | q
891 | 0 0 450 163 rc
892 | 1 0 0 -1 1.1339412 161.53699 cm
893 | 32.281178 0 m
894 | 32.14859 0 32.021412 0.014892308 31.890177 0.018953847 c
895 | 31.857706 0.0176 31.829294 0 31.795471 0 c
896 | 25.724823 0 20.750059 4.830523 20.334705 10.924185 c
897 | 19.618999 10.784739 18.897882 10.708923 18.174059 10.708923 c
898 | 11.652883 10.708923 6.348 16.125662 6.348 22.785231 c
899 | 6.348 25.83003 7.4398236 28.669046 9.3691177 30.847385 c
900 | 8.6290588 31.007139 7.9174118 31.245415 7.2355294 31.540554 c
901 | 3.0008235 33.27483 0 37.500183 0 42.434956 c
902 | 0 42.449844 0.0081176469 42.462032 0.0081176469 42.474216 c
903 | 0.0081176469 42.537846 0 42.59877 0 42.662399 c
904 | 0 48.437908 3.9911764 53.277908 9.3055296 54.459816 c
905 | 7.4168234 56.63274 6.3466473 59.448738 6.3466473 62.446156 c
906 | 6.3466473 69.103012 11.651529 74.519753 18.172707 74.519753 c
907 | 18.945236 74.519753 19.708294 74.443939 20.45647 74.295013 c
908 | 20.455118 74.378952 20.453764 74.466957 20.453764 74.559013 c
909 | 20.453764 81.218582 25.758648 86.635323 32.279823 86.635323 c
910 | 38.800999 86.635323 44.107235 81.218582 44.107235 74.559013 c
911 | 44.107235 12.866954 l
912 | 44.108589 6.0124307 38.581825 0 32.281178 0 c
913 | h
914 | 41.402706 74.559013 m
915 | 41.402706 79.723938 37.311413 83.927628 32.281178 83.927628 c
916 | 27.25094 83.927628 23.160999 79.725296 23.160999 74.559013 c
917 | 23.160999 73.938957 23.204294 73.807632 23.366648 73.32431 c
918 | 23.420765 73.165909 23.481647 72.976372 23.549294 72.75705 c
919 | 27.054764 70.743874 29.431883 66.912491 29.431883 62.51926 c
920 | 29.431883 61.770584 28.825766 61.165417 28.078941 61.165417 c
921 | 27.332117 61.165417 26.726 61.770584 26.726 62.51926 c
922 | 26.726 67.501419 22.780823 71.554832 17.931883 71.554832 c
923 | 13.082941 71.554832 9.1377649 67.501419 9.1377649 62.51926 c
924 | 9.1377649 62.401478 9.0985298 62.295876 9.070118 62.186214 c
925 | 9.1540003 59.027691 10.747765 56.160248 13.390059 54.481476 c
926 | 13.916353 54.14843 14.146353 53.495876 13.946117 52.905602 c
927 | 13.745882 52.315323 13.172235 51.921352 12.54853 51.990398 c
928 | 12.310411 52.010708 12.069589 52.026955 11.826058 52.026955 c
929 | 6.7971764 52.026955 2.7058823 47.824615 2.7058823 42.661045 c
930 | 2.7058823 38.810707 4.9815292 35.497845 8.2218237 34.058708 c
931 | 9.2365294 33.636307 10.340529 33.400738 11.5 33.400738 c
932 | 16.348942 33.400738 20.294117 37.452801 20.294117 42.433601 c
933 | 20.294117 43.182278 20.900236 43.787445 21.647058 43.787445 c
934 | 22.393883 43.787445 23 43.182278 23 42.433601 c
935 | 23 36.695999 18.94253 31.912861 13.603824 30.89883 c
936 | 13.575412 30.878523 13.557823 30.851446 13.528059 30.832493 c
937 | 10.726118 29.122585 9.0525293 26.114338 9.0525293 22.783876 c
938 | 9.0525293 17.618954 13.143824 13.415261 18.172707 13.415261 c
939 | 18.945236 13.415261 19.715059 13.556062 20.475412 13.764554 c
940 | 21.418411 19.274708 26.129353 23.482462 31.794117 23.482462 c
941 | 32.540939 23.482462 33.14706 22.877293 33.14706 22.128616 c
942 | 33.14706 21.379938 32.540939 20.774769 31.794117 20.774769 c
943 | 27.386236 20.774769 23.736 17.424 23.10553 13.074092 c
944 | 23.160999 12.896738 23.19347 12.711262 23.181293 12.5312 c
945 | 23.171824 12.380923 23.159647 12.227939 23.159647 12.074954 c
946 | 23.159647 6.9100308 27.25094 2.7063384 32.279823 2.7063384 c
947 | 37.138237 2.7063384 41.401352 7.454277 41.401352 12.8656 c
948 | 41.401352 74.559013 l
949 | 41.402706 74.559013 l
950 | h
951 | S
952 | Q
953 | q
954 | 92.071884 119.10203 m
955 | 92.071884 124.0368 89.07106 128.26216 84.836349 129.99643 c
956 | 84.154472 130.29156 83.442825 130.52985 82.702766 130.68961 c
957 | 84.633415 132.86794 85.723885 135.70695 85.723885 138.75175 c
958 | 85.723885 145.41132 80.418999 150.82806 73.897827 150.82806 c
959 | 73.115822 150.82806 72.336533 150.74683 71.566704 150.58572 c
960 | 71.009293 156.71864 65.941177 161.53699 59.790707 161.53699 c
961 | 53.490059 161.53699 47.963295 155.52455 47.963295 148.67003 c
962 | 47.963295 86.977966 l
963 | 47.963295 80.318398 53.268177 74.901665 59.790707 74.901665 c
964 | 66.311882 74.901665 71.616768 80.318398 71.616768 86.977966 c
965 | 71.616768 87.07003 71.61541 87.159386 71.614059 87.241966 c
966 | 72.362236 87.093048 73.125298 87.017227 73.897827 87.017227 c
967 | 80.418999 87.017227 85.723885 92.433968 85.723885 99.090828 c
968 | 85.723885 102.0896 84.65506 104.90424 82.764999 107.07717 c
969 | 88.079353 108.25908 92.070526 113.09908 92.070526 118.87459 c
970 | 92.070526 118.93822 92.063766 118.99914 92.062408 119.06277 c
971 | 92.063766 119.07631 92.071884 119.08849 92.071884 119.10203 c
972 | h
973 | 59.792057 87.028061 m
974 | 58.292999 87.028061 57.072647 88.247879 57.072647 89.74794 c
975 | 57.072647 91.248001 58.291649 92.46917 59.792057 92.46917 c
976 | 61.291119 92.46917 62.510117 91.249352 62.510117 89.74794 c
977 | 62.510117 88.247879 61.289764 87.028061 59.792057 87.028061 c
978 | h
979 | 73.951942 97.118279 m
980 | 72.452881 97.118279 71.232529 98.338089 71.232529 99.838158 c
981 | 71.232529 101.33822 72.45153 102.55939 73.951942 102.55939 c
982 | 75.450996 102.55939 76.669998 101.33957 76.669998 99.838158 c
983 | 76.671356 98.339447 75.450996 97.118279 73.951942 97.118279 c
984 | h
985 | 80.245827 109.51003 m
986 | 80.002296 109.51003 79.762825 109.52763 79.523354 109.54659 c
987 | 78.902351 109.60751 78.325996 109.22301 78.125763 108.63139 c
988 | 77.925529 108.03976 78.155533 107.38856 78.681824 107.05551 c
989 | 81.397179 105.33071 83.017998 102.35225 83.017998 99.090828 c
990 | 83.017998 94.420059 79.666763 90.546707 75.304886 89.848122 c
991 | 75.304886 94.602829 l
992 | 77.64006 95.208 79.375885 97.315941 79.375885 99.838158 c
993 | 79.375885 102.8315 76.943291 105.26707 73.951942 105.26707 c
994 | 70.960587 105.26707 68.526649 102.8315 68.526649 99.838158 c
995 | 68.526649 97.315941 70.263824 95.208 72.598999 94.602829 c
996 | 72.598999 89.831879 l
997 | 71.825119 89.945602 71.067474 90.148674 70.339592 90.464127 c
998 | 69.85659 90.671265 69.29512 90.58326 68.902763 90.232613 c
999 | 68.509056 89.881966 68.35482 89.335014 68.507706 88.831383 c
1000 | 68.582115 88.583633 68.648415 88.387321 68.705238 88.214027 c
1001 | 68.867592 87.730705 68.910881 87.599388 68.910881 86.979324 c
1002 | 68.910881 82.286896 65.531235 78.400002 61.143646 77.725784 c
1003 | 61.143646 84.513969 l
1004 | 63.478825 85.119141 65.216003 87.225723 65.216003 89.74929 c
1005 | 65.216003 92.742645 62.783413 95.178215 59.792057 95.178215 c
1006 | 56.800705 95.178215 54.366764 92.742645 54.366764 89.74929 c
1007 | 54.366764 87.227074 56.103943 85.119141 58.437763 84.513969 c
1008 | 58.437763 77.725784 l
1009 | 54.048824 78.400002 50.669178 82.286896 50.669178 86.979324 c
1010 | 50.669178 114.81846 l
1011 | 54.557529 114.81846 l
1012 | 55.162292 112.48172 57.270176 110.74339 59.792057 110.74339 c
1013 | 62.783413 110.74339 65.216003 113.1776 65.216003 116.17095 c
1014 | 65.216003 119.16431 62.783413 121.59988 59.792057 121.59988 c
1015 | 57.27153 121.59988 55.165001 119.86289 54.558884 117.52615 c
1016 | 50.669178 117.52615 l
1017 | 50.669178 135.952 l
1018 | 59.790707 135.952 l
1019 | 61.56847 135.952 l
1020 | 67.346886 135.952 l
1021 | 67.953003 133.61526 70.058174 131.87828 72.580055 131.87828 c
1022 | 75.571411 131.87828 78.003998 134.31248 78.003998 137.30585 c
1023 | 78.003998 140.29919 75.571411 142.73477 72.580055 142.73477 c
1024 | 70.058174 142.73477 67.951645 140.99643 67.346886 138.6597 c
1025 | 62.921413 138.6597 l
1026 | 62.921413 144.0507 l
1027 | 65.256592 144.65588 66.993767 146.76247 66.993767 149.28603 c
1028 | 66.993767 152.27939 64.56118 154.71495 61.569824 154.71495 c
1029 | 58.578472 154.71495 56.144531 152.27939 56.144531 149.28603 c
1030 | 56.144531 146.76381 57.881706 144.65588 60.21553 144.0507 c
1031 | 60.21553 138.6597 l
1032 | 59.790707 138.6597 l
1033 | 50.669178 138.6597 l
1034 | 50.669178 148.67139 l
1035 | 50.669178 154.0827 54.930943 158.83064 59.790707 158.83064 c
1036 | 64.819588 158.83064 68.910881 154.62831 68.910881 149.46204 c
1037 | 68.910881 149.30905 68.898705 149.15607 68.879768 148.87581 c
1038 | 68.849998 148.41551 69.055649 147.97145 69.426353 147.69797 c
1039 | 69.797058 147.4245 70.28006 147.3568 70.711647 147.52197 c
1040 | 71.75341 147.92 72.824944 148.12038 73.896469 148.12038 c
1041 | 78.925354 148.12038 83.016647 143.91803 83.016647 138.75175 c
1042 | 83.016647 135.4213 81.344414 132.4117 78.541115 130.70314 c
1043 | 78.512703 130.68419 78.493767 130.6571 78.465355 130.6368 c
1044 | 73.126648 129.62413 69.069176 124.84099 69.069176 119.10203 c
1045 | 69.069176 118.35336 69.675293 117.74818 70.422119 117.74818 c
1046 | 71.168938 117.74818 71.775063 118.35336 71.775063 119.10203 c
1047 | 71.775063 124.08283 75.720238 128.13489 80.569176 128.13489 c
1048 | 81.728645 128.13489 82.832649 127.89797 83.847351 127.47828 c
1049 | 87.087646 126.03914 89.363297 122.72492 89.363297 118.87594 c
1050 | 89.365997 113.71101 85.274704 109.51003 80.245827 109.51003 c
1051 | h
1052 | 57.072647 116.17095 m
1053 | 57.072647 117.67101 58.291649 118.89218 59.792057 118.89218 c
1054 | 61.291119 118.89218 62.510117 117.67237 62.510117 116.17095 c
1055 | 62.510117 114.67225 61.291119 113.45108 59.792057 113.45108 c
1056 | 58.291649 113.45243 57.072647 114.67225 57.072647 116.17095 c
1057 | h
1058 | 61.569824 146.5675 m
1059 | 60.070766 146.5675 58.85041 147.78732 58.85041 149.28738 c
1060 | 58.85041 150.78745 60.069412 152.00862 61.569824 152.00862 c
1061 | 63.068882 152.00862 64.28788 150.7888 64.28788 149.28738 c
1062 | 64.28788 147.78732 63.067528 146.5675 61.569824 146.5675 c
1063 | h
1064 | 69.862 137.30585 m
1065 | 69.862 138.80591 71.081001 140.02708 72.581413 140.02708 c
1066 | 74.080467 140.02708 75.299469 138.80727 75.299469 137.30585 c
1067 | 75.299469 135.80714 74.080467 134.58597 72.581413 134.58597 c
1068 | 71.081001 134.58597 69.862 135.80579 69.862 137.30585 c
1069 | h
1070 | W
1071 | 0 0 450 163 rc
1072 | 42.963295 166.53699 m
1073 | 97.071884 166.53699 l
1074 | 97.071884 69.901665 l
1075 | 42.963295 69.901665 l
1076 | h
1077 | f
1078 | Q
1079 | q
1080 | 0 0 450 163 rc
1081 | 1 0 0 -1 47.963295 161.53699 cm
1082 | 44.108589 42.434956 m
1083 | 44.108589 37.500183 41.107765 33.27483 36.873058 31.540554 c
1084 | 36.191177 31.245415 35.47953 31.007139 34.739471 30.847385 c
1085 | 36.670116 28.669046 37.76059 25.83003 37.76059 22.785231 c
1086 | 37.76059 16.125662 32.455708 10.708923 25.93453 10.708923 c
1087 | 25.152529 10.708923 24.373236 10.790154 23.603413 10.951262 c
1088 | 23.046 4.8183384 17.977882 0 11.827412 0 c
1089 | 5.5267649 0 0 6.0124307 0 12.866954 c
1090 | 0 74.559013 l
1091 | 0 81.218582 5.3048825 86.635323 11.827412 86.635323 c
1092 | 18.348589 86.635323 23.653471 81.218582 23.653471 74.559013 c
1093 | 23.653471 74.466957 23.652117 74.377602 23.650764 74.295013 c
1094 | 24.398941 74.443939 25.162001 74.519753 25.93453 74.519753 c
1095 | 32.455708 74.519753 37.76059 69.103012 37.76059 62.446156 c
1096 | 37.76059 59.447384 36.691765 56.63274 34.801704 54.459816 c
1097 | 40.116058 53.277908 44.107235 48.437908 44.107235 42.662399 c
1098 | 44.107235 42.59877 44.100471 42.537846 44.099117 42.474216 c
1099 | 44.100471 42.460678 44.108589 42.448494 44.108589 42.434956 c
1100 | h
1101 | 11.828765 74.508926 m
1102 | 10.329706 74.508926 9.1093531 73.289108 9.1093531 71.789047 c
1103 | 9.1093531 70.288986 10.328353 69.067818 11.828765 69.067818 c
1104 | 13.327824 69.067818 14.546824 70.287628 14.546824 71.789047 c
1105 | 14.546824 73.289108 13.32647 74.508926 11.828765 74.508926 c
1106 | h
1107 | 25.988647 64.418709 m
1108 | 24.489588 64.418709 23.269236 63.198891 23.269236 61.69883 c
1109 | 23.269236 60.198769 24.488235 58.9776 25.988647 58.9776 c
1110 | 27.487705 58.9776 28.706705 60.197414 28.706705 61.69883 c
1111 | 28.708059 63.19754 27.487705 64.418709 25.988647 64.418709 c
1112 | h
1113 | 32.282528 52.026955 m
1114 | 32.039001 52.026955 31.79953 52.009354 31.560059 51.990398 c
1115 | 30.939058 51.929478 30.362705 52.313969 30.16247 52.905602 c
1116 | 29.962234 53.497231 30.192236 54.14843 30.718529 54.481476 c
1117 | 33.433884 56.206276 35.054707 59.184738 35.054707 62.446156 c
1118 | 35.054707 67.11692 31.70347 70.99028 27.341589 71.688858 c
1119 | 27.341589 66.934151 l
1120 | 29.676765 66.328987 31.412588 64.221046 31.412588 61.69883 c
1121 | 31.412588 58.705479 28.98 56.269909 25.988647 56.269909 c
1122 | 22.997293 56.269909 20.563353 58.705479 20.563353 61.69883 c
1123 | 20.563353 64.221046 22.300529 66.328987 24.635706 66.934151 c
1124 | 24.635706 71.705109 l
1125 | 23.861824 71.591385 23.104176 71.388306 22.376293 71.072861 c
1126 | 21.893293 70.865723 21.331823 70.95372 20.93947 71.304367 c
1127 | 20.545765 71.655014 20.391529 72.201973 20.544413 72.705597 c
1128 | 20.618824 72.953354 20.685118 73.149658 20.741941 73.322952 c
1129 | 20.904295 73.806274 20.947588 73.937599 20.947588 74.557663 c
1130 | 20.947588 79.250092 17.567942 83.136986 13.180353 83.811203 c
1131 | 13.180353 77.023018 l
1132 | 15.51553 76.417847 17.252707 74.311264 17.252707 71.787689 c
1133 | 17.252707 68.794342 14.820118 66.358772 11.828765 66.358772 c
1134 | 8.8374119 66.358772 6.4034705 68.794342 6.4034705 71.787689 c
1135 | 6.4034705 74.309906 8.1406469 76.417847 10.47447 77.023018 c
1136 | 10.47447 83.811203 l
1137 | 6.0855293 83.136986 2.7058823 79.250092 2.7058823 74.557663 c
1138 | 2.7058823 46.718525 l
1139 | 6.5942354 46.718525 l
1140 | 7.1989999 49.05526 9.3068819 50.793598 11.828765 50.793598 c
1141 | 14.820118 50.793598 17.252707 48.359386 17.252707 45.366032 c
1142 | 17.252707 42.372677 14.820118 39.937107 11.828765 39.937107 c
1143 | 9.3082352 39.937107 7.2017059 41.674091 6.5955882 44.01083 c
1144 | 2.7058823 44.01083 l
1145 | 2.7058823 25.584984 l
1146 | 11.827412 25.584984 l
1147 | 13.605177 25.584984 l
1148 | 19.383589 25.584984 l
1149 | 19.989706 27.921722 22.094883 29.658709 24.616764 29.658709 c
1150 | 27.608118 29.658709 30.040707 27.224493 30.040707 24.231138 c
1151 | 30.040707 21.237785 27.608118 18.802216 24.616764 18.802216 c
1152 | 22.094883 18.802216 19.988354 20.540554 19.383589 22.877293 c
1153 | 14.958117 22.877293 l
1154 | 14.958117 17.486277 l
1155 | 17.293295 16.881107 19.03047 14.774523 19.03047 12.250954 c
1156 | 19.03047 9.2575998 16.597883 6.8220305 13.606529 6.8220305 c
1157 | 10.615176 6.8220305 8.1812353 9.2575998 8.1812353 12.250954 c
1158 | 8.1812353 14.77317 9.9184122 16.881107 12.252235 17.486277 c
1159 | 12.252235 22.877293 l
1160 | 11.827412 22.877293 l
1161 | 2.7058823 22.877293 l
1162 | 2.7058823 12.8656 l
1163 | 2.7058823 7.454277 6.9676471 2.7063384 11.827412 2.7063384 c
1164 | 16.856295 2.7063384 20.947588 6.9086771 20.947588 12.074954 c
1165 | 20.947588 12.227939 20.935411 12.380923 20.916471 12.661169 c
1166 | 20.886705 13.121477 21.092354 13.565538 21.463058 13.839015 c
1167 | 21.833765 14.112493 22.316765 14.180184 22.748352 14.015016 c
1168 | 23.790117 13.616984 24.861647 13.416615 25.933176 13.416615 c
1169 | 30.962059 13.416615 35.053352 17.618954 35.053352 22.785231 c
1170 | 35.053352 26.115692 33.381119 29.125292 30.577824 30.833847 c
1171 | 30.549412 30.8528 30.53047 30.879877 30.502058 30.900185 c
1172 | 25.163353 31.912861 21.105883 36.695999 21.105883 42.434956 c
1173 | 21.105883 43.183632 21.712 43.788799 22.458824 43.788799 c
1174 | 23.205647 43.788799 23.811764 43.183632 23.811764 42.434956 c
1175 | 23.811764 37.454155 27.756941 33.402092 32.605881 33.402092 c
1176 | 33.765354 33.402092 34.869354 33.639015 35.88406 34.058708 c
1177 | 39.124352 35.497845 41.400002 38.812061 41.400002 42.661045 c
1178 | 41.402706 47.82597 37.311413 52.026955 32.282528 52.026955 c
1179 | h
1180 | 9.1093531 45.366032 m
1181 | 9.1093531 43.865971 10.328353 42.644798 11.828765 42.644798 c
1182 | 13.327824 42.644798 14.546824 43.864616 14.546824 45.366032 c
1183 | 14.546824 46.864738 13.327824 48.085907 11.828765 48.085907 c
1184 | 10.328353 48.084553 9.1093531 46.864738 9.1093531 45.366032 c
1185 | h
1186 | 13.606529 14.969477 m
1187 | 12.107471 14.969477 10.887117 13.749661 10.887117 12.2496 c
1188 | 10.887117 10.749538 12.106117 9.5283689 13.606529 9.5283689 c
1189 | 15.105588 9.5283689 16.324589 10.748184 16.324589 12.2496 c
1190 | 16.324589 13.749661 15.104236 14.969477 13.606529 14.969477 c
1191 | h
1192 | 21.898706 24.231138 m
1193 | 21.898706 22.731077 23.117706 21.509907 24.618118 21.509907 c
1194 | 26.117176 21.509907 27.336176 22.729723 27.336176 24.231138 c
1195 | 27.336176 25.729847 26.117176 26.951015 24.618118 26.951015 c
1196 | 23.117706 26.951015 21.898706 25.731199 21.898706 24.231138 c
1197 | h
1198 | S
1199 | ep
1200 | end
1201 |
--------------------------------------------------------------------------------
/EPS/HTML.eps:
--------------------------------------------------------------------------------
1 | %!PS-Adobe-3.0 EPSF-3.0
2 | %APL_DSC_Encoding: UTF8
3 | %APLProducer: (Version 10.12.6 (Build 16G1314) Quartz PS Context)
4 | %%Title: (Unknown)
5 | %%Creator: (Unknown)
6 | %%CreationDate: (Unknown)
7 | %%For: (Unknown)
8 | %%DocumentData: Clean7Bit
9 | %%LanguageLevel: 2
10 | %%Pages: 1
11 | %%BoundingBox: 0 0 376 154
12 | %%EndComments
13 | %%BeginProlog
14 | %%BeginFile: cg-pdf.ps
15 | %%Copyright: Copyright 2000-2004 Apple Computer Incorporated.
16 | %%Copyright: All Rights Reserved.
17 | currentpacking true setpacking
18 | /cg_md 141 dict def
19 | cg_md begin
20 | /L3? languagelevel 3 ge def
21 | /bd{bind def}bind def
22 | /ld{load def}bd
23 | /xs{exch store}bd
24 | /xd{exch def}bd
25 | /cmmtx matrix def
26 | mark
27 | /sc/setcolor
28 | /scs/setcolorspace
29 | /dr/defineresource
30 | /fr/findresource
31 | /T/true
32 | /F/false
33 | /d/setdash
34 | /w/setlinewidth
35 | /J/setlinecap
36 | /j/setlinejoin
37 | /M/setmiterlimit
38 | /i/setflat
39 | /rc/rectclip
40 | /rf/rectfill
41 | /rs/rectstroke
42 | /f/fill
43 | /f*/eofill
44 | /sf/selectfont
45 | /s/show
46 | %/as/ashow
47 | /xS/xshow
48 | /yS/yshow
49 | /xyS/xyshow
50 | /S/stroke
51 | /m/moveto
52 | /l/lineto
53 | /c/curveto
54 | /h/closepath
55 | /n/newpath
56 | /q/gsave
57 | /Q/grestore
58 | counttomark 2 idiv
59 | %dup (number of ld's = )print == flush % *** how many
60 | {ld}repeat pop
61 | /SC{ % CSname
62 | /ColorSpace fr scs
63 | }bd
64 | /sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld
65 | /soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld
66 | /cgmtx matrix def
67 | /sdmtx{cgmtx currentmatrix pop}bd
68 | /CM {cgmtx setmatrix}bd % pop the ctm: our gstate ctm on host is now identity
69 | /cm {cmmtx astore CM concat}bd % reset the matrix and then concat
70 | /W{clip newpath}bd
71 | /W*{eoclip newpath}bd
72 |
73 | statusdict begin product end dup (HP) anchorsearch{
74 | pop pop pop % pop off the search results
75 | true
76 | }{
77 | pop % previous search result
78 | (hp) anchorsearch{
79 | pop pop true
80 | }{
81 | pop false
82 | }ifelse
83 | }ifelse
84 |
85 | { % HP is the product: we use this method of stroking because of a bug in their clone printers with certain T3 fonts
86 | {
87 | { % charCode Wx Wy
88 | pop pop % charCode
89 | (0)dup 0 4 -1 roll put
90 | F charpath
91 | }cshow
92 | }
93 | }{
94 | {F charpath}
95 | }ifelse
96 | /cply exch bd
97 | /cps {cply stroke}bd
98 | /pgsave 0 def
99 | /bp{/pgsave save store}bd
100 | /ep{pgsave restore showpage}def % dont' bind
101 | /re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd
102 |
103 | /scrdict 10 dict def
104 | /scrmtx matrix def
105 | /patarray 0 def
106 | /createpat{patarray 3 1 roll put}bd
107 | /makepat{
108 | scrmtx astore pop
109 | gsave
110 | initgraphics
111 | CM
112 | patarray exch get
113 | scrmtx
114 | makepattern
115 | grestore
116 | setpattern
117 | }bd
118 |
119 | /cg_BeginEPSF{
120 | userdict save/cg_b4_Inc_state exch put
121 | userdict/cg_endepsf/cg_EndEPSF load put
122 | count userdict/cg_op_count 3 -1 roll put
123 | countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put
124 | 3 sub{end}repeat
125 | /showpage {} def
126 | 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin
127 | 10 setmiterlimit [] 0 setdash newpath
128 | false setstrokeadjust false setoverprint % don't use F
129 | }bd
130 | /cg_EndEPSF{
131 | countdictstack 3 sub { end } repeat
132 | cg_dict_array 3 1 index length 3 sub getinterval
133 | {begin}forall
134 | count userdict/cg_op_count get sub{pop}repeat
135 | userdict/cg_b4_Inc_state get restore
136 | F setpacking
137 | }bd
138 |
139 | /cg_biproc{currentfile/RunLengthDecode filter}bd
140 | /cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd
141 | /ImageDataSource 0 def
142 | L3?{
143 | /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd
144 | /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd
145 | }{
146 | /ImageBandMask 0 def
147 | /ImageBandData 0 def
148 | /cg_mibiproc{
149 | string/ImageBandMask xs
150 | string/ImageBandData xs
151 | /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx
152 | /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
153 | }bd
154 | /cg_miaiproc{
155 | string/ImageBandMask xs
156 | string/ImageBandData xs
157 | /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter
158 | dup ImageBandMask/readstring cvx
159 | /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
160 | }bd
161 | }ifelse
162 | /imsave 0 def
163 | /BI{save/imsave xd mark}bd
164 | /EI{imsave restore}bd
165 | /ID{
166 | counttomark 2 idiv
167 | dup 2 add % leave room for imagetype and imagematrix
168 | dict begin
169 | {def} repeat
170 | pop % remove mark
171 | /ImageType 1 def
172 | /ImageMatrix[Width 0 0 Height neg 0 Height]def
173 | currentdict dup/ImageMask known{ImageMask}{F}ifelse exch
174 | % currentdict on stack
175 | L3?{
176 | dup/MaskedImage known
177 | {
178 | pop
179 | <<
180 | /ImageType 3
181 | /InterleaveType 2
182 | /DataDict currentdict
183 | /MaskDict
184 | << /ImageType 1
185 | /Width Width
186 | /Height Height
187 | /ImageMatrix ImageMatrix
188 | /BitsPerComponent 1
189 | /Decode [0 1]
190 | currentdict/Interpolate known
191 | {/Interpolate Interpolate}if
192 | >>
193 | >>
194 | }if
195 | }if
196 | exch
197 | {imagemask}{image}ifelse
198 | end % pop imagedict from dict stack
199 | }bd
200 |
201 | /cguidfix{statusdict begin mark version end
202 | {cvr}stopped{cleartomark 0}{exch pop}ifelse
203 | 2012 lt{dup findfont dup length dict begin
204 | {1 index/FID ne 2 index/UniqueID ne and
205 | {def} {pop pop} ifelse}forall
206 | currentdict end definefont pop
207 | }{pop}ifelse
208 | }bd
209 | /t_array 0 def
210 | /t_i 0 def
211 | /t_c 1 string def
212 | /x_proc{ % x y
213 | exch t_array t_i get add exch moveto
214 | /t_i t_i 1 add store
215 | }bd
216 | /y_proc{ % x y
217 | t_array t_i get add moveto
218 | /t_i t_i 1 add store
219 | }bd
220 | /xy_proc{
221 | % x y
222 | t_array t_i 2 copy 1 add get 3 1 roll get
223 | 4 -1 roll add 3 1 roll add moveto
224 | /t_i t_i 2 add store
225 | }bd
226 | /sop 0 def % don't bind sop
227 | /cp_proc/x_proc ld % default moveto proc is for xwidths only
228 | /base_charpath % string array
229 | {
230 | /t_array xs
231 | /t_i 0 def
232 | { % char
233 | t_c 0 3 -1 roll put
234 | currentpoint
235 | t_c cply sop
236 | cp_proc
237 | }forall
238 | /t_array 0 def
239 | }bd
240 | /sop/stroke ld % default sop is stroke. Done here so we don't bind in /base_charpath
241 |
242 | % default sop is stroke
243 | /nop{}def
244 | /xsp/base_charpath ld
245 | /ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd
246 | /xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd
247 | /xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd
248 | /ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd
249 | /xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd
250 | /refnt{ % newname encoding fontname
251 | findfont dup length dict copy dup
252 | /Encoding 4 -1 roll put
253 | definefont pop
254 | }bd
255 | /renmfont{ % newname fontname
256 | findfont dup length dict copy definefont pop
257 | }bd
258 |
259 | L3? dup dup{save exch}if
260 |
261 | % languagelevel2 ONLY code goes here
262 |
263 | /Range 0 def
264 | /DataSource 0 def
265 | /val 0 def
266 | /nRange 0 def
267 | /mulRange 0 def
268 | /d0 0 def
269 | /r0 0 def
270 | /di 0 def
271 | /ri 0 def
272 | /a0 0 def
273 | /a1 0 def
274 | /r1 0 def
275 | /r2 0 def
276 | /dx 0 def
277 | /Nsteps 0 def
278 | /sh3tp 0 def
279 | /ymax 0 def
280 | /ymin 0 def
281 | /xmax 0 def
282 | /xmin 0 def
283 |
284 | /setupFunEval % funDict -- % this calculates and sets up a function dict for evaulation.
285 | {
286 | begin
287 | /nRange Range length 2 idiv store
288 | /mulRange % precompute the range data needed to map a sample value from the table to a range value
289 | % this data looks like [ range0mul range0min range1mul range1min ... rangeN-1mul rangeN-1min ]
290 | [
291 | 0 1 nRange 1 sub
292 | { % index
293 | 2 mul/nDim2 xd % 2*dimension# we are dealing with
294 | Range nDim2 get % ymin
295 | Range nDim2 1 add get % ymin ymax
296 | 1 index sub % ymin (ymax-ymin)
297 | % xmin = 0, xmax = 255 (2^bitspersample - 1)
298 | 255 div % ymin (ymax-ymin)/(xmax - xmin)
299 | exch % (ymax-ymin)/(xmax - xmin) ymin
300 | }for
301 | ]store
302 | end
303 | }bd
304 |
305 | /FunEval % val1 fundict -> comp1 comp2 ... compN
306 | {
307 | begin
308 | % the value passed in is the base index into the table
309 | nRange mul /val xd % compute the actual index to the table
310 | % since there are nRange entries per base index
311 | 0 1 nRange 1 sub
312 | {
313 | dup 2 mul/nDim2 xd % dim
314 | val % base value to use to do our lookup
315 | add DataSource exch get % lookedupval
316 | mulRange nDim2 get mul % lookedupval*(ymax-ymin)/(xmax-xmin)
317 | mulRange nDim2 1 add get % lookedupval*(ymax-ymin)/(xmax-xmin) ymin
318 | add % interpolated result
319 | }for % comp1 comp2 ... compN
320 | end
321 | }bd
322 |
323 | /max % a b -> max(a, b)
324 | {
325 | 2 copy lt
326 | {exch pop}{pop}ifelse
327 | }bd
328 |
329 | /sh2
330 | { % emulation of shading type 2. Assumes shading dictionary is top dictionary on the dict stack
331 | /Coords load aload pop % x0 y0 x1 y1
332 | 3 index 3 index translate % origin is now at beginning point of shading
333 | % x0 y0 x1 y1
334 | 3 -1 roll sub % x0 x1 y1-y0
335 | 3 1 roll exch % y1-y0 x1 x0
336 | sub % y1-y0 x1-x0
337 | 2 copy
338 | dup mul exch dup mul add sqrt % length of segment between two points
339 | dup
340 | scale
341 | atan % atan (dy/dx)
342 | %dup (rotation angle = )print ==
343 | rotate % now line between 0,0 and 1,0 is the line perpendicular to which the axial lines are drawn
344 |
345 | /Function load setupFunEval % may need to setup function dictionary by calling setupFunEval
346 |
347 | % this is now specific to axial shadings. Compute the maximum bounds to fill
348 | clippath {pathbbox}stopped {0 0 0 0}if newpath % x0 y0 x1 y1
349 | /ymax xs
350 | /xmax xs
351 | /ymin xs
352 | /xmin xs
353 | currentdict/Extend known
354 | {
355 | /Extend load 0 get
356 | {
357 | 0/Function load FunEval sc % evaluate the function to get a color and set it
358 | xmin ymin xmin abs ymax ymin sub rectfill
359 | }if
360 | }if
361 | % paint the rects. The sampling frequency is that of our table
362 | /Nsteps/Function load/Size get 0 get 1 sub store
363 | /dx 1 Nsteps div store
364 | gsave
365 | /di ymax ymin sub store
366 | /Function load
367 | % loop Nsteps + 1 times, incrementing the index by 1 each time
368 | 0 1 Nsteps
369 | {
370 | 1 index FunEval sc
371 | 0 ymin dx di rectfill
372 | dx 0 translate
373 | }for
374 | pop % pop our function
375 | grestore % origin is back to start point
376 | currentdict/Extend known
377 | {
378 | /Extend load 1 get
379 | {
380 | Nsteps/Function load FunEval sc % last element
381 | 1 ymin xmax 1 sub abs ymax ymin sub rectfill
382 | }if
383 | }if
384 | }bd
385 |
386 | /shp % this paints our shape for shading type 3
387 | { % x1 r1 x0 r0 -
388 | 4 copy
389 |
390 | % fill interior arc
391 | dup 0 gt{
392 | 0 exch a1 a0 arc
393 | }{
394 | pop 0 moveto
395 | }ifelse
396 |
397 | dup 0 gt{
398 | 0 exch a0 a1 arcn
399 | }{
400 | pop 0 lineto
401 | }ifelse
402 |
403 | fill
404 |
405 | % fill exterior arc
406 | dup 0 gt{
407 | 0 exch a0 a1 arc
408 | }{
409 | pop 0 moveto
410 | }ifelse
411 |
412 | dup 0 gt{
413 | 0 exch a1 a0 arcn
414 | }{
415 | pop 0 lineto
416 | }ifelse
417 |
418 | fill
419 | }bd
420 |
421 | /calcmaxs
422 | { % calculate maximum distance vector from origin to corner points
423 | % of bbox
424 | xmin dup mul ymin dup mul add sqrt % (xmin2 + ymin2)
425 | xmax dup mul ymin dup mul add sqrt % (xmax2 + ymin2)
426 | xmin dup mul ymax dup mul add sqrt % (xmin2 + ymax2)
427 | xmax dup mul ymax dup mul add sqrt % (xmax2 + ymax2)
428 | max max max % maximum value
429 | }bd
430 |
431 | /sh3
432 | { % emulation of shading type 3. Assumes shading dictionary is top dictionary on the dict stack
433 | /Coords load aload pop % x0 y0 r1 x1 y1 r2
434 | 5 index 5 index translate % origin is now at first circle origin
435 | 3 -1 roll 6 -1 roll sub % y0 r1 y1 r2 dx
436 | 3 -1 roll 5 -1 roll sub % r1 r2 dx dy
437 | 2 copy dup mul exch dup mul add sqrt
438 | /dx xs % r1 r2 dx dy
439 | 2 copy 0 ne exch 0 ne or
440 | {
441 | % r1 r2 dx dy
442 | exch atan rotate % we are now rotated so dy is zero and positive values of dx move us as expected
443 | }{
444 | pop pop
445 | }ifelse
446 | % r1 r2
447 | /r2 xs
448 | /r1 xs
449 | /Function load
450 | dup/Size get 0 get 1 sub % this is the size of our table minus 1
451 | /Nsteps xs % at some point we should optimize this better so NSteps is based on needed steps for the device
452 | setupFunEval % may need to setup function dictionary by calling setupFunEval
453 | % determine the case:
454 | % case 0: circle1 inside circle2
455 | % case 1: circle 2 inside circle 1
456 | % case 2: r1 = r2
457 | % case 3: r1 != r2
458 | dx r2 add r1 lt{
459 | % circle 2 inside of circle 1
460 | 0
461 | }{
462 | dx r1 add r2 le
463 | { % circle 1 inside of circle 2
464 | 1
465 | }{ % circles don't contain each other
466 | r1 r2 eq
467 | { % equal
468 | 2
469 | }{ % r1 != r2
470 | 3
471 | }ifelse
472 | }ifelse
473 | }ifelse
474 | /sh3tp xs % sh3tp has the number of our different cases
475 | clippath {pathbbox}stopped {0 0 0 0}if
476 | newpath % x0 y0 x1 y1
477 | /ymax xs
478 | /xmax xs
479 | /ymin xs
480 | /xmin xs
481 |
482 | % Arc angle atan( sqrt((dx*dx + dy*dy) - dr*dr), dr)
483 | dx dup mul r2 r1 sub dup mul sub dup 0 gt
484 | {
485 | sqrt r2 r1 sub atan
486 | /a0 exch 180 exch sub store
487 | /a1 a0 neg store
488 | }{
489 | pop
490 | /a0 0 store
491 | /a1 360 store
492 | }ifelse
493 |
494 | currentdict/Extend known
495 | {
496 | /Extend load 0 get r1 0 gt and % no need to extend if the radius of the first end is 0
497 | {
498 | 0/Function load FunEval sc % evaluate the function to get a color and set it
499 | % case 0: circle1 inside circle2
500 | % case 1: circle 2 inside circle 1
501 | % case 2: circles don't contain each other and r1 == r2
502 | % case 3: circles don't contain each other and r1 != r2
503 | {
504 | { % case 0
505 | dx 0 r1 360 0 arcn
506 | xmin ymin moveto
507 | xmax ymin lineto
508 | xmax ymax lineto
509 | xmin ymax lineto
510 | xmin ymin lineto
511 | eofill % for the bigger radius we fill everything except our circle
512 | }
513 | { % case 1
514 | r1 0 gt{0 0 r1 0 360 arc fill}if
515 | }
516 | { % case 2
517 | % r1 == r2, extend 0
518 | % r3 = r, x3 = -(abs(minx) + r), x1 = 0
519 |
520 | % x(i+1) r(i+1) x(i) r(i) shp
521 | 0 r1 xmin abs r1 add neg r1 shp
522 | }
523 | { % case 3
524 | % no containment, r1 != r2
525 |
526 | r2 r1 gt{ % the endpoint we are drawing is that with a circle of zero radius
527 | % x(i+1) r(i+1) x(i) r(i) shp
528 | 0 r1
529 | r1 neg r2 r1 sub div dx mul % this is point of beginning circle
530 | 0 % point of ending circle
531 | shp % takes x(i+1) r(i+1) x(i) r(i)
532 | }{ % the first circle is the bigger of the two
533 | % we find a circle on our line which is outside the bbox in the
534 | % negative direction
535 | % x(i+1) r(i+1) x(i) r(i) shp
536 | 0 r1 calcmaxs % 0 r1 maxs
537 | dup
538 | % calculating xs: (-(maxs+r2)*x2)/(x2-(r1-r2))
539 | r2 add dx mul dx r1 r2 sub sub div
540 | neg % maxs xs'
541 | exch 1 index % xs' maxs xs'
542 | abs exch sub
543 | shp
544 | }ifelse
545 | }
546 | }sh3tp get exec % execute the extend at beginning proc for our shading type
547 | }if
548 | }if
549 |
550 | % now do the shading
551 | /d0 0 store
552 | /r0 r1 store
553 | /di dx Nsteps div store
554 | /ri r2 r1 sub Nsteps div store
555 | /Function load
556 | 0 1 Nsteps
557 | { % function t(i)
558 | 1 index FunEval sc
559 | d0 di add r0 ri add d0 r0 shp
560 | {
561 | % fill interior arc
562 | d0 0 r0 a1 a0 arc
563 | d0 di add 0 r0 ri add a0 a1 arcn
564 | fill
565 |
566 | % fill exterior arc
567 | d0 0 r0 a0 a1 arc
568 | d0 di add 0 r0 ri add a1 a0 arcn
569 | fill
570 | }pop
571 |
572 | % advance to next
573 | /d0 d0 di add store
574 | /r0 r0 ri add store
575 | }for
576 | pop % pop our function dict
577 |
578 | % handle Extend
579 | currentdict/Extend known
580 | {
581 | /Extend load 1 get r2 0 gt and % no need to extend if the radius of the last end is 0
582 | {
583 | Nsteps/Function load FunEval sc % last element
584 | % case 0: circle1 inside circle2
585 | % case 1: circle 2 inside circle 1
586 | % case 2: circles don't contain each other and r1 == r2
587 | % case 3: circles don't contain each other and r1 != r2
588 | {
589 | {
590 | dx 0 r2 0 360 arc fill
591 | }
592 | {
593 | dx 0 r2 360 0 arcn
594 | xmin ymin moveto
595 | xmax ymin lineto
596 | xmax ymax lineto
597 | xmin ymax lineto
598 | xmin ymin lineto
599 | eofill % for the bigger radius we fill everything except our circle
600 | }
601 | { % r1 == r2, extend 1
602 | % r3 = r, x3 = (abs(xmax) + r), x1 = dx
603 | % x(i+1) r(i+1) x(i) r(i) shp
604 | xmax abs r1 add r1 dx r1 shp
605 | }
606 | { % no containment, r1 != r2
607 |
608 | r2 r1 gt{
609 | % we find a circle on our line which is outside the bbox in the
610 | % positive direction
611 | % x(i+1) r(i+1) x(i) r(i) shp
612 | calcmaxs dup % maxs maxs
613 | % calculating xs: ((maxs+r1)*x2)/(x2-(r2-r1))
614 | r1 add dx mul dx r2 r1 sub sub div % maxs xs
615 | exch 1 index % xs maxs xs
616 | exch sub
617 | dx r2
618 | shp
619 | }{ % the endpoint we are drawing is that with a circle of zero radius
620 | % x(i+1) r(i+1) x(i) r(i) shp
621 | r1 neg r2 r1 sub div dx mul % this is point of ending circle
622 | 0 % radius of ending circle
623 | dx % point of starting circle
624 | r2 % radius of starting circle
625 | shp
626 | }ifelse
627 | }
628 | }
629 | sh3tp get exec % execute the extend at end proc for our shading type
630 | }if
631 | }if
632 | }bd
633 | /sh % emulation of shfill operator for type 2 and type 3 shadings based on type 0 functions
634 | { % shadingDict --
635 | begin
636 | /ShadingType load dup dup 2 eq exch 3 eq or
637 | { % shadingtype
638 | gsave
639 | newpath
640 | /ColorSpace load scs
641 | currentdict/BBox known
642 | {
643 | /BBox load aload pop % llx lly urx ury
644 | 2 index sub % llx lly urx ury-lly
645 | 3 index % llx lly urx ury-lly llx
646 | 3 -1 roll exch sub
647 | exch rectclip
648 | }if
649 | 2 eq
650 | {sh2}{sh3}ifelse
651 | grestore
652 | }{
653 | % shadingtype
654 | pop
655 | (DEBUG: shading type unimplemented\n)print flush
656 | }ifelse
657 | end
658 | }bd
659 |
660 | % end of language level 2 ONLY code
661 |
662 | {restore}if not dup{save exch}if
663 | % languagelevel3 ONLY code goes here
664 | L3?{ % we do these loads conditionally or else they will fail on a level 2 printer
665 | /sh/shfill ld
666 | /csq/clipsave ld
667 | /csQ/cliprestore ld
668 | }if
669 | {restore}if
670 |
671 | %currentdict dup maxlength exch length sub (number of extra slots in md = )print == flush % *** how many entries are free
672 | end
673 | setpacking
674 | % count 0 ne { pstack(***extras on stack during prolog execution***\n)print flush}if % *** BARK if anything is left on stack
675 | %%EndFile
676 | %%EndProlog
677 | %%BeginSetup
678 | %%EndSetup
679 | %%Page: 1 1
680 | %%PageBoundingBox: 0 0 376 154
681 | %%BeginPageSetup
682 | cg_md begin
683 | bp
684 | sdmtx
685 | %RBIBeginFontSubset: ZAFLVZ+Courier-Bold
686 | %!FontType1-1.0: ZAFLVZ+Courier-Bold 1.0000.1.0000
687 |
14 dict begin/FontName /ZAFLVZ+Courier-Bold def
688 |
/PaintType 0 def
689 |
/Encoding 256 array 0 1 255{1 index exch/.notdef put}for
690 |
dup 33 /less put
691 |
dup 34 /slash put
692 |
dup 35 /h put
693 |
dup 36 /e put
694 |
dup 37 /a put
695 |
dup 38 /d put
696 |
dup 39 /greater put
697 |
dup 40 /b put
698 |
dup 41 /o put
699 |
dup 42 /y put
700 |
readonly def
701 |
42/FontType resourcestatus{pop pop false}{true}ifelse
702 |
%APLsfntBegin
703 |
{currentfile 0(%APLsfntEnd\n)/SubFileDecode filter flushfile}if
704 |
/FontType 42 def
705 |
/FontMatrix matrix def
706 |
/FontBBox[2048 -1343 1 index div -826 2 index div 2201 3 index div 2291 5 -1 roll div]cvx def
707 |
/sfnts [<
708 |
74727565000900000000000063767420000000000000009C0000001C6670676D00000000000000B800000173676C7966000000000000022C00000D20686561640000000000000F4C00000036686865610000000000000F8400000024686D74780000000000000FA8000000346C6F63610000000000000FDC0000001C6D6178700000000000000FF80000002070726570000000000000101800000084002A00DB008C00F6008C01140000001FFE730004039C001A04A20021B800002C4BB800065058B101018E59B801FF85B800441DB9000600035F5E2DB800012C2020456944B001602DB800022CB800012A212DB800032C2046B003254652582359208A208A49648A204620686164B004254620686164525823658A592F20B00053586920B000545821B040591B6920B000545821B0406559593A2DB800042C2046B00425465258238A592046206A6164B0042546206A61645258238A592FFD2DB800052C4B20B0032650585158B080441BB04044591B21212045B0C05058B0C0441B2159592DB800062C2020456944B001602020457D691844B001602DB800072CB800062A2DB800082C4B20B003265358B0401BB000598A8A20B0032653582321B0808A8A1B8A235920B0032653582321B800C08A8A1B8A235920B0032653582321B801008A8A1B8A235920B0032653582321B801408A8A1B8A235920B80003265358B0032545B8018050582321B8018023211BB003254523212321591B2159442DB800092C4B535845441B2121592D0000020066FE96046605A4000300070047B800082FB800052FB8000810B80000D0B800002FB8000510B900030004F4B8000010B900040004F4B8000310B80009DC00BB00040002000000042BBB00020002000600042B30311311211125211121660400FC73031BFCE5FE96070EF8F2720629000000000100D3FF8B0417059E0013000B00B8000E2FB800042F303109010E0123222635343F01013E0133321615140603FAFDB61B2E1F2E471B0202491C2E1F2D480C04DBFB193B2E3A2B1D3D0404E53D2E3A2B1228000001002700730473047D001C001500B800162FB800072FBA000000070016111239303109011E01151406232226270126272635343F01013E01333216151406070185028B372C342B122B1FFCEC060D6A6F08031A28260E2B342D360277FECB1A33242A340C0E016B030531424333050172120B342A24351A0001005C007304A6047D001C001500B800162FB800072FBA000000160007111239303109012E01353436333216170117161514070607010E0123222635343637034AFD74352D322A1029260318086F6B0A06FCE91E2B132A322B37027701351A35242A340C11FE8E05334343300602FE950E0C332B24331A00020068FFE7047D03B6002700340127BB002E0005001100042BBB00
709 |
270003001800042BB8001810B900040005F4BA000B00180027111239B8001810B80028D041090036002E0046002E0056002E0066002E00045DB8002710B80036DC00B800004558B800242F1BB90024000A3E59B800004558B8000E2F1BB9000E00063E59B800004558B800072F1BB9000700063E59BB00140002002B00042BB8000710B900000001F4B8000E10B900310001F441090037003100470031005700310067003100045DBA000B000E0031111239B8002410B9001B0002F4410500E9001B00F9001B00025D41170038001B0048001B0058001B0068001B0078001B0088001B0098001B00A8001B00B8001B00C8001B00D8001B000B5DB8002410B9001E0001F441090038001E0048001E0058001E0068001E00045D3031253332161514062B012226270E012322263534363332161735342623220623222635343633321615072E012322061514163332363703FE1036393B445E32311053BA5FA1B8EED7306C43575542CD302F3AEDCCD5B8F23254246E7D504B457A3BDB39353A332632373AA08B96A60A0B135A5E62372D515FA4C4B20B0B4A413A3D282A0000000002003BFFE70487051D000B003000EFBB00300005002900042BBB00120005000900042BB8003010B80003D0B800032F41090039000900490009005900090069000900045DBA001800290030111239B8002910B80020D0B800202FB8003010B900250003F4B8001210B80032DC00B800004558B8000F2F1BB9000F000A3E59B800004558B8001C2F1BB9001C00063E59B800004558B800152F1BB9001500063E59BB002C0001002500042BB8000F10B900000001F441090038000000480000005800000068000000045DB8001510B900060001F441090037000600470006005700060067000600045DBA000C000F0000111239BA0018001500061112393031012206151416333236353426253E01333200151400232226271514062B0122263534363B01112322263534363B01321615028F62818063638182FEC1308448D00109FEF2CD618F2D1F1C9A44393736101036393A45BB201D02C793717493947370947B2A30FEEDD7C4FEF94343421417333C3537036439363B341F230000020044FFE7048D051D0024003000E9BB00280005001200042BBB00240005001D00042BBA000C001D0024111239B8002410B9002E0003F4B80018D0B800182F41090036002800460028005600280066002800045DB8002410B80032DC00B800004558B800152F1BB90015000A3E59B800004558B8000F2F1BB9000F00063E59B800004558B800072F1BB9000700063E59BB00200001001A00042BB8000710B900000001F4B8000F10B9002B0001F441090037002B0047002B0057002B0067002B00045DBA000C000F002B111239B8001510B900250001F4410900380025004800250058
710 |
00250068002500045DBA0018001500251112393031253332161514062B0122263D010E012322003534003332161735232226353436332132161501220615141633323635342604101136363944991D1F319A60C4FEF8010BCE47873885453A3A4501372219FE2B62818063638182DB37353B341714464347010BC8D001122F2BFD353A3B341C26FDEC937174939473709400000000020058FFE7046D03B20018001F006D00B800004558B800122F1BB90012000A3E59B800004558B8000C2F1BB9000C00063E59BB001F0002000000042BB8000C10B900030001F441090037000300470003005700030067000300045DB8001210B9001C0001F441090038001C0048001C0058001C0068001C00045D3031011E0133323633321615140423220035340033320415140623272E012322060701561A957C7CF219252FFEEACDF2FED1012FF2D8011C39596A118D716D851A01936F6E79372B5E880110D6D50110FFB93B2C9C5D6661620001004E00000487051D003900F3BB00390005003200042BBB00070005001200042BB8000710B9000F0003F4B9000B0005F4B8000F10B80016D0B8003910B8001DD0B8002510B8001ED0B8003910B900260003F4B900220005F4B8003210B80029D0B800292FB8002610B8002DD0B8000710B8003BDC00B800004558B800032F1BB90003000A3E59B800004558B8000E2F1BB9000E00063E59B800004558B800252F1BB9002500063E59BB00350001002E00042BB8000310B9001A0001F441090038001A0048001A0058001A0068001A00045DBA00000003001A111239B8000E10B900070001F4B80015D0B80016D0B8001ED0B8001FD0B8002CD0B8002DD03031013E0133321615113332161514062B0122263534363B0111342623220615113332161514062B0122263534363B01112322263534363B0132161501C52380599EAB1135373944F843393636103F4C50721036373A43F845383735111135393A45BC221A03373D40B8ACFE8B37353B34343B3636012380638162FEDD37353B34333C3537036439363B341C2600020046FFE7048703B2000B001700B5B800182FB800092FB8001810B80015D0B800152FB900030005F441090036000300460003005600030066000300045D41090039000900490009005900090069000900045DB8000910B9000F0005F4B80019DC00B800004558B8000C2F1BB9000C000A3E59B800004558B800122F1BB9001200063E59B8000C10B900000001F441090038000000480000005800000068000000045DB8001210B900060001F441090037000600470006005700060067000600045D303101220615141633323635342627320015140023220035340002667597977575989776F3012EFED2F3F2FED2012F02DF9977789D9D787799D3FEF0D5D6FEF00110D6D50110000000
711 |
00010039FE710491039C003100FAB800322FB800062FB8003210B80027D0B800272FB9002E0005F441090036002E0046002E0056002E0066002E00045DBA00000027002E11123941090039000600490006005900060069000600045DB8000610B9000D0005F4BA00010027000D111239BA00020006000D111239B8000610B80013D0B800132FB8000610B80019D0B800192FB8000D10B80033DC00B800004558B800092F1BB90009000A3E59B800004558B8002A2F1BB9002A000A3E59B800004558B800192F1BB9001900083E59B8002A10B900000001F4B80002D0B80003D0B80010D0B80011D0B8001910B900120001F4B80020D0B80021D0B8001110B80023D0B80024D03031011B012322263534363B0132161514062B0101333216151406232122263534363B0137012322263534363B0132161514062301B6B4BD1036393946EB4639383611FE652D443B3B44FE4A453A3A459B5EFED11036393A45FE453A393502C1FE5601AA38363B32333A3638FC8D343B3A34333B3B34C902AA38363B32333A363800000101020000052304C3004700F4BB00300003004100042BBB000E0005002300042BB8003010B80001D0B800012FB8004110B80005D0B800052FB8000E10B9002A0005F4B80011D0B800112FB8000E10B900140004F4B8000E10B8001AD0B8001A2FB8004110B900390005F4B80037D0B8000E10B80049DC00B800004558B800082F1BB90008000C3E59B800004558B8001E2F1BB9001E00063E59B800004558B8003C2F1BB9003C00063E59B900000001F4B80012D0B80013D0B8001E10B900170001F441090037001700470017005700170067001700045DB8000810B9002D0001F441090038002D0048002D0058002D0068002D00045DB8001710B80044D030312533352E01353400333216171E011514060715333534363332161D0114062B0122263D0134363736373635342623220615141716171E011D0214062B0122263D0134363332161501BE548C840129E37CBE47474D8A89542F292E333E45B96A380E11112D81927D7690811209271A376AB9463D302E2A2EB66761D681D2011C464848B45E81DF5C6921282E3F382F483F3A5E7F3C3217162975797E9490787D791008253A2B247F5E3A3E492341422F2B0000FFFF01020000052304C30006000B00000001000000010000D56785D65F0F3CF501190800000000005FAA488000000000D1B90388FAC1FCC6089908F3000100060001000000000000000100000608FE0800000696FAC1FACA089900010000000000000000000000000000000D04CD006604CD00D304CD002704CD005C04CD006804CD003B04CD004404CD005804CD004E04CD004604CD00390625010204CD01020000003A006400A000DC01BA02780334039E046404EA05AE0688069000010000000D0132
712 |
0009007C0005000100000000000A00000200033F00030001B800002B00BA0001000200022B01BA0003000300022B01BF0003002E0024001C0015000D000000082BBF000400510042003400250016000000082BBF000500290024001C0015000D000000082B00BF00010034002B00210015000D000000082BBF000200510042003400250016000000082B00BA0006000400072BB8000020457D691844
713 |
00>] def
714 |
/CharStrings 13 dict dup begin
715 |
/.notdef 0 def
716 | /slash 1 def
717 | /less 2 def
718 | /greater 3 def
719 | /a 4 def
720 | /b 5 def
721 | /d 6 def
722 | /e 7 def
723 | /h 8 def
724 | /o 9 def
725 | /y 10 def
726 | /Omegagreek 11 def
727 | /Omegagreek.mono 12 def
728 | end readonly def
729 |
currentdict dup/FontName get exch definefont pop end
730 |
%APLsfntEnd
731 |
42/FontType resourcestatus{pop pop true}{false}ifelse
732 |
{currentfile 0(%APLT1End\n)/SubFileDecode filter flushfile}if
733 |
/FontType 1 def
734 |
/FontMatrix [ 0.00048828125 0 0 0.00048828125 0 0 ] def
735 |
/FontBBox{-1343 -826 2201 2291}def
736 |
/UniqueID 4493014 def
737 |
currentdict currentfile eexec
738 |
54544758EC884CF30C3CD503CEDBFF3839C47C3C3333173232E3FDBFF439491DB843E1924E63AA7726BBB0485AB56D93D8C0906F647A47162891E73FFC2A9873C4B1EAC5EEBDFFC4D06084FBD84139DF4583C6E259D10699944D1068C9C45667DCCCFB9B7EA01B606435EDCBD273ABAC093D14085CCBAC149BD7382E842CFE0D7FE4FD2EF589A2471F6074A80A8B675C2F7A50D63AC1EF90D787BADD11633CB01CF6EE3B37AAF9078A69AC4740E9B6525D78BBD839551A1CB80DB8682FA5E87591BBD6EE8B946063A2A58D9CA3685AB305495DC5FB5747EB8A9A059C4976C0FE4EEAB1D56FF47F1E9664ED9F4A7DAB763AF92B2F6CF2FA7DEC24710E0B9096E30F772BA7FEA9BDBE496C42ED2CEB58F54E80BDF57CE7B4DB6CCFE7182F43BF93CCA0767AF95D62C5D2C3DC6AE1E6D139F51A2C63432117F1714C5566572EE9967A715420ABDCD1D7BD74F8450B89965FCC81C6ACA565C5F3CCF91D430D1F953E4F1A645300A98DD8C47CD64555F08F422340A85404EAE0D3229C4F9336B9470CACBD6BBF3395104750A915CC6EAAC197668267B8C62D2764C8CD69FD937CA3C924D997A0EDE7964BEB9EA2F92EF70C5E5DA0AA5567765E71F2B911B3C5593A4CA8EDA7BA9920B3E316B42F6C59340A225ACDC6B0BBEEE5E70A5F569D86FC92F1A6FF6AF23F71AFAA2146512717EBE20F1FEA4F15D48C96E77D2E7BBB0D5A0746C35B75A02900AFDA1DB45A797C3394BE83C4A3DA42C1354DE08329B8E86BD317797ED605D49536FC314910431BE4B68F31E41F6F0630ADA30A7C52461C4A3522F744425C01AAEB7613AFFA66D27B7AAF49990CD3BCF2EB0356814AB2FEFE6EEEDC0C8E13011708E1764A856796BF58D05F044CCA8C84EB544A04E60CB48239519B1B78CC3C056FD70B8DFEBBA8B7CA737F975333D85F15262D6F14D1319AFCFA5E22ABA85CBB77C08B34A1AD10A79E58854010E38B5C8EDAD53F4FBA40B5FD30C806B7CDDD4C2112575F40C6738EFB54B2C35D0447407A4ADAA5A2E249F7C185966129B2BF0870021406F16E4808CF617B73E4F332DDAF0621485A9C4304DE3F04090BF8A353E9A1F6EA7CCC67E5FD9AA6048B59E59D599CBB5FFD6DE8DF864A04CA8157AABF9E3C697A8A00724B8FF26C3F5E70B0BC426A69082FB766547BF93C8EF5DCC0ABF2D6B3ED804EE3E8481DC7220BFDF633118DD3B82BBF0373A92AA7B73B845FBA25955D3B9D89422ED15F8F15C3B2E09C70D9B42ACDC077AE838DD13711DCFF78A4F5E0E6B6363D9D2C861DFEADB6D957CE5D6DADD0C114CC96544453652381FA9B8FEEFCD66DBF3A0E768AC82A156B8B7C8590BE3E14C2E3EF1834D34C836091948427EF3986BAD830952DAE514682D7B34C5B3ACBC8B8348E43DA32B868B6F80CD6348E9B63C62AE60A30547065D5EFF02418F7E9F4967789DC
739 |
083FE02CD9459592143695142B82A664D37C0E8FB3274231029B60577DA404DCB51F5BFF4C823F82B5A54BE8873210D0215DA8845D7C39979EC8C206185EB11110C4D3D2ACA6E1283562B989D6A3F8BF46F23246C0711B13A045FCB0A32418BFD701A0B7C44AABEF35FA192A7603420D698EC7AC9BFB2A1A85E65C505C9BD7B9D02DF5083C169334124D295B5D7B1DC192742BA49FE7F8A13508D90C24B7DC5DD395543CE4859B895D2BBF6C05D532341E1ADCC42138574FB8F5AD8C46386BEEECF7AD9DF83045097738227A32D94BB51923DBA29D5E95BEB63EA72DA8804B5AFD0E635C6C4CD65C7EBEDC835281939FD04A0A08B026A75C50AB9203CFDA534BB5B1FB8A671E61ADAB3B4CD0B7505445776F7D0985D88EFB8CE1FE98405CA2D7768C2678F260E498D0FBFF6861C32DF533491B9A7239322F18F2A6FE43517FA0A2539C2871A512A97A3D19494BCEE23FA37C60C6CD51A2E481881D24E33BCF18E3FD4A9DE3024FFD8F59A8095E71B2CE6EA3125A387F7AF0CF432322F7F7303F31BF40C5CA44E943E88F5CC02969C2171BEB05E8A7037BCE8F2A1428DB575B04F2A4B6517EBEDCCC385E306EA039CDA2ECDA3004B06D72D6AF5A8BC0A3497892354FF255D11546BD541B43582ADB14F48BB75256A411CA67834DC96C6D0968FFD3B5E208821128D884AE96CE27348CCB4B550F36FADD3A47C40DBFB54A5C1E5E7F369A75FACC6A1F717BA6BBBFDB1FC03A2AC46F9AC627884416219E1FC161D1227B7690DB4A2792B5701896CF8D9177D0827FD7512421C4643FC669DD1A96AD8C34E7C69914B04A801602A690F8DAED6B77843C91AEE44604A632FD126F624654B5C8D59EEBA79D83F065732430DB6A58950C0B3A3C795801B8BCCA95B6B2CB7178ED659A9682B801655EBACC8668C9D9275FEBB0D2795D45ABB8251DED6D3EAB486F738A5031D43B1492A26F8C14174F72A9239098EB2B7370DDA65410E7B79021A2401712CAE5F497571E9D5C112FFEB370C42467C265EEA8E63199A273C01BA8F78E81160BA6B88435C2B22351A42C75BFD8CE450AFC174B33B13098DC9EB84A568B1566855B035E5128BA19C4B6B48119CA0A11B547E8E459F0C2FC105D1C18574E161C4E7B2435DB651956C2042EE471F3317F2994C91CA4D844C840F88F556243A4FF90E32D1D0320F648F78FB3B4FE1236397DEAD09F67B356BE6D1F15C610F7BAD3A827BCD8220854D25500AE6C034E7C169271D66CB6000C0513ED4F6786DB9EB8D0A564EFBA01962742E70E4D43CC67B10570644D3B19F703FACBE30A2FE9181AA0EDEE4ED59038D7F1836859A3F84171D27BD67ECD3A84CD4D4EE8D4DD0AD9699E14DF3E94DC13B42B5A6DD9436C064D23C5465AAAF8230E03FB1E1A1F18CAB3D35A3A9F625DEC10A13E9B1B2198F0CC8255A8EE9C98107138FC
740 |
6885B53900134A472305BA22BBA0990F9F158AB04352CB1873DE9D25BDBF9B505431C13C801678BF9ABECD7CCDA5AD473A390D5FD3BC3030BAB3BB98EA9C86D6C36F40EA696ED1AE491441B032DFBC20C2504DD30FF78E33E982CAFD2EC0915606849B11A08F9B07D8616D8EDAEAD383B4FF166A5C1E80D613846185494E975A5CC59BDD1B1030187CA4586FD3026D1ED2CF4E6C43E62DE4971568F53747954B8C8611CC70183731F1E2E6ACD059B6CAEE693E02955B0C58F2488B5EFBEAF12F27464DCED180CD6F385738DEFCEF8D2811A50C227F8DC0937776A8CA3CC5C8DD6CD4D1652A2859F6F04A43E317157CBB466E54FC51319BC0A6BB679DC87B79E324409BB970C4DA82C819475114D06106A28489C20FAF45DCB708DC7490D22D0E9DC3406AA239EAF3CEA7CE1F086AD9D3CE483E8F600037D7A0FAC50B3B819516D5B16C9707D45FF10687477976812E3E4F846CF422E691D1E7D6EAACB94C5C102B89DD6A676EBC76C0B500B6335E5B01369D6445F3E1E3BEB6D003AC9D919B374A486C0CA26179145B29DD7BF2AD73DFDF0BACAF8C8DCE7DDA44ECDB196BAEE449E8025E54DDA495F11A0ACE80F5BB1D9EA72CA03D2A437AB52B4C482387D2EB3F1D6F93240204D8D2E4DF0020E837C8A7F3C931F1AC18653C0CC1159BC75A4C4895BB80B858A4978D335E2FA5039F2107BAC9BDDB0D1A2DBD4824D754189D4FBB637E959CC1DAF09B464B38B4BB42B3C6CA3AE22603B591EB3BA82AC11E8498ABBCA5F23F61D17C33F56FA4F0A811810D893EBC67979286F6ADFF84FD098890431C2F745BBD3689901884922B872D6384B439DB835D6B89E82EFA0E1596BF35E4BA3D6BA7925AE15A772DE8938936B989C0021F8F155324F49E61CFD6880E2799B6A5EC1F39BCF3B4C5D7C164EA2312BD67070ACA392363269D8B49C4193D88749FF234468D4FB0F7C68C81750B1787B407DB22D5B8C16971244716674DE12EEEEEC33D1311EEFEB7A411E3F94429675B19C6A00AF6B6DFBB51BFB243851CDC0F630431FE0FDE822EA64C767EDCCC97EFD1D1F68E4D49654FF564329309C13D507F71C53096C9C9233F521AC8B94CC51F80C938B238A7F1E29E12F964BCFCD68A55E8A1889429724011C7B424364715B869B155414DC6AE2D618E307F6A539FDB876A7FFCDBF48983587C6DAE7728211FF6D1D618E578617CC185D449A841BD0EBA7510C22F708E904F7F74FB9F6806D730CBF48268BFEDF8F755A50FFC223A915A27ACE66BB7FFC35235C8633FB4E279617B3E40DBF7486666D8DA631716519FF59D677C8D1324880625670ED063F7DAA7AF2F07A749E34D503D25203CC54CFDC5769C30DDD631E247965EEADCEEC3A1A6BF6EF3BC5EC62B0468172D0C11818D5DE58FD428E439C69C6F9DCC26C4A28B884B662B5AF8FA68F53AAD0DFB3FFC
741 |
4158F280ACB694A63FAF0B873F4A263F20B6BFD43AFB7D0ED77A78822759F7D5743553CC7305D2E39D40763C58E350664038BAE546F1A4460CD44686FA28D715653D7EE84A4CA157CFD4EC7B46FFFCF61CF2AE396AA8F08AE44663933F4B2E755CE74EACE3DD9FC6B8EDF4ADFA893FD021650CC3D621AE41FE7931B8AB1F630FD013C488619CE658DF9F1C1C49
742 |
0000000000000000000000000000000000000000000000000000000000000000
743 |
0000000000000000000000000000000000000000000000000000000000000000
744 |
0000000000000000000000000000000000000000000000000000000000000000
745 |
0000000000000000000000000000000000000000000000000000000000000000
746 |
0000000000000000000000000000000000000000000000000000000000000000
747 |
0000000000000000000000000000000000000000000000000000000000000000
748 |
0000000000000000000000000000000000000000000000000000000000000000
749 |
0000000000000000000000000000000000000000000000000000000000000000
750 |
cleartomark end
751 |
%APLT1End
752 |
%RBIEndFontSubset
753 | /ZAFLVZ+Courier-Bold cguidfix
754 | /F1.1/ZAFLVZ+Courier-Bold renmfont
755 | [ /CIEBasedABC 4 dict dup begin
756 | /WhitePoint [ 0.9505 1.0000 1.0891 ] def
757 | /DecodeABC [
758 | { 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
759 | 1 index 1 index ge { exch pop } { pop } ifelse <
760 | 0000000000000000000000000000000000000000000000000000000000000000
761 | 0000000000000000000000000000000000000001010101010101010101010101
762 | 0101010101010101010101010101010101010101010101020202020202020202
763 | 0202020202020202020202020202020202030303030303030303030303030303
764 | 0303030303030304040404040404040404040404040404040404050505050505
765 | 0505050505050505050506060606060606060606060606060607070707070707
766 | 0707070707070708080808080808080808080808090909090909090909090909
767 | 0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
768 | 0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
769 | 1010101010111111111111111112121212121212121313131313131313141414
770 | 1414141414151515151515151616161616161616171717171717171818181818
771 | 18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
772 | 1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
773 | 2323232323242424242425252525252526262626262727272727282828282829
774 | 292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
775 | 2f2f303030303131313131323232323333333333343434343535353535363636
776 | 36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
777 | 3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
778 | 4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
779 | 4f50505051515151525252535353535454545555555656565657575758585859
780 | 59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
781 | 63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
782 | 6e6e6f6f6f707070717171727273737374747475757576767677777878787979
783 | 797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
784 | 86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
785 | 9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
786 | a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
787 | aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
788 | bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
789 | cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
790 | dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
791 | eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
792 | > dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
793 | cvi 3 index exch get 4 -1 roll 3 -1 roll get
794 | dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
795 |
796 | { 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
797 | 1 index 1 index ge { exch pop } { pop } ifelse <
798 | 0000000000000000000000000000000000000000000000000000000000000000
799 | 0000000000000000000000000000000000000001010101010101010101010101
800 | 0101010101010101010101010101010101010101010101020202020202020202
801 | 0202020202020202020202020202020202030303030303030303030303030303
802 | 0303030303030304040404040404040404040404040404040404050505050505
803 | 0505050505050505050506060606060606060606060606060607070707070707
804 | 0707070707070708080808080808080808080808090909090909090909090909
805 | 0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
806 | 0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
807 | 1010101010111111111111111112121212121212121313131313131313141414
808 | 1414141414151515151515151616161616161616171717171717171818181818
809 | 18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
810 | 1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
811 | 2323232323242424242425252525252526262626262727272727282828282829
812 | 292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
813 | 2f2f303030303131313131323232323333333333343434343535353535363636
814 | 36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
815 | 3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
816 | 4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
817 | 4f50505051515151525252535353535454545555555656565657575758585859
818 | 59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
819 | 63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
820 | 6e6e6f6f6f707070717171727273737374747475757576767677777878787979
821 | 797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
822 | 86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
823 | 9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
824 | a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
825 | aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
826 | bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
827 | cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
828 | dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
829 | eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
830 | > dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
831 | cvi 3 index exch get 4 -1 roll 3 -1 roll get
832 | dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
833 |
834 | { 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
835 | 1 index 1 index ge { exch pop } { pop } ifelse <
836 | 0000000000000000000000000000000000000000000000000000000000000000
837 | 0000000000000000000000000000000000000001010101010101010101010101
838 | 0101010101010101010101010101010101010101010101020202020202020202
839 | 0202020202020202020202020202020202030303030303030303030303030303
840 | 0303030303030304040404040404040404040404040404040404050505050505
841 | 0505050505050505050506060606060606060606060606060607070707070707
842 | 0707070707070708080808080808080808080808090909090909090909090909
843 | 0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
844 | 0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
845 | 1010101010111111111111111112121212121212121313131313131313141414
846 | 1414141414151515151515151616161616161616171717171717171818181818
847 | 18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
848 | 1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
849 | 2323232323242424242425252525252526262626262727272727282828282829
850 | 292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
851 | 2f2f303030303131313131323232323333333333343434343535353535363636
852 | 36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
853 | 3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
854 | 4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
855 | 4f50505051515151525252535353535454545555555656565657575758585859
856 | 59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
857 | 63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
858 | 6e6e6f6f6f707070717171727273737374747475757576767677777878787979
859 | 797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
860 | 86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
861 | 9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
862 | a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
863 | aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
864 | bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
865 | cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
866 | dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
867 | eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
868 | > dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
869 | cvi 3 index exch get 4 -1 roll 3 -1 roll get
870 | dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
871 | ] def
872 | /MatrixABC [ 0.4124 0.2126 0.0193 0.3576 0.7151 0.1192 0.1805 0.0722 0.9508 ] def
873 | /RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def
874 | end ] /Cs1 exch/ColorSpace dr pop
875 | %%EndPageSetup
876 | /Cs1 SC
877 | 0 0 0 sc
878 | 0.60000002 i
879 | q
880 | 0 0 376 154 rc
881 | 1 0 0 -1 -1 149 cm
882 | /F1.1[ 90 0 0 -90 0 0]sf
883 | 0.46923828 59 m
884 | (!"#$%&')[ 54.008789 54.008789 54.008789 54.008789 54.008789 54.008789 0.000000 ] xS
885 | 27.473633 131 m
886 | (!\(\)&*')[ 54.008789 54.008789 54.008789 54.008789 54.008789 0.000000 ] xS
887 | ep
888 | end
889 |
--------------------------------------------------------------------------------
/EPS/Python.eps:
--------------------------------------------------------------------------------
1 | %!PS-Adobe-3.0 EPSF-3.0
2 | %APL_DSC_Encoding: UTF8
3 | %APLProducer: (Version 10.12.6 (Build 16G1314) Quartz PS Context)
4 | %%Title: (Unknown)
5 | %%Creator: (Unknown)
6 | %%CreationDate: (Unknown)
7 | %%For: (Unknown)
8 | %%DocumentData: Clean7Bit
9 | %%LanguageLevel: 2
10 | %%Pages: 1
11 | %%BoundingBox: 0 0 374 159
12 | %%EndComments
13 | %%BeginProlog
14 | %%BeginFile: cg-pdf.ps
15 | %%Copyright: Copyright 2000-2004 Apple Computer Incorporated.
16 | %%Copyright: All Rights Reserved.
17 | currentpacking true setpacking
18 | /cg_md 141 dict def
19 | cg_md begin
20 | /L3? languagelevel 3 ge def
21 | /bd{bind def}bind def
22 | /ld{load def}bd
23 | /xs{exch store}bd
24 | /xd{exch def}bd
25 | /cmmtx matrix def
26 | mark
27 | /sc/setcolor
28 | /scs/setcolorspace
29 | /dr/defineresource
30 | /fr/findresource
31 | /T/true
32 | /F/false
33 | /d/setdash
34 | /w/setlinewidth
35 | /J/setlinecap
36 | /j/setlinejoin
37 | /M/setmiterlimit
38 | /i/setflat
39 | /rc/rectclip
40 | /rf/rectfill
41 | /rs/rectstroke
42 | /f/fill
43 | /f*/eofill
44 | /sf/selectfont
45 | /s/show
46 | %/as/ashow
47 | /xS/xshow
48 | /yS/yshow
49 | /xyS/xyshow
50 | /S/stroke
51 | /m/moveto
52 | /l/lineto
53 | /c/curveto
54 | /h/closepath
55 | /n/newpath
56 | /q/gsave
57 | /Q/grestore
58 | counttomark 2 idiv
59 | %dup (number of ld's = )print == flush % *** how many
60 | {ld}repeat pop
61 | /SC{ % CSname
62 | /ColorSpace fr scs
63 | }bd
64 | /sopr /setoverprint where{pop/setoverprint}{/pop}ifelse ld
65 | /soprm /setoverprintmode where{pop/setoverprintmode}{/pop}ifelse ld
66 | /cgmtx matrix def
67 | /sdmtx{cgmtx currentmatrix pop}bd
68 | /CM {cgmtx setmatrix}bd % pop the ctm: our gstate ctm on host is now identity
69 | /cm {cmmtx astore CM concat}bd % reset the matrix and then concat
70 | /W{clip newpath}bd
71 | /W*{eoclip newpath}bd
72 |
73 | statusdict begin product end dup (HP) anchorsearch{
74 | pop pop pop % pop off the search results
75 | true
76 | }{
77 | pop % previous search result
78 | (hp) anchorsearch{
79 | pop pop true
80 | }{
81 | pop false
82 | }ifelse
83 | }ifelse
84 |
85 | { % HP is the product: we use this method of stroking because of a bug in their clone printers with certain T3 fonts
86 | {
87 | { % charCode Wx Wy
88 | pop pop % charCode
89 | (0)dup 0 4 -1 roll put
90 | F charpath
91 | }cshow
92 | }
93 | }{
94 | {F charpath}
95 | }ifelse
96 | /cply exch bd
97 | /cps {cply stroke}bd
98 | /pgsave 0 def
99 | /bp{/pgsave save store}bd
100 | /ep{pgsave restore showpage}def % dont' bind
101 | /re{4 2 roll m 1 index 0 rlineto 0 exch rlineto neg 0 rlineto h}bd
102 |
103 | /scrdict 10 dict def
104 | /scrmtx matrix def
105 | /patarray 0 def
106 | /createpat{patarray 3 1 roll put}bd
107 | /makepat{
108 | scrmtx astore pop
109 | gsave
110 | initgraphics
111 | CM
112 | patarray exch get
113 | scrmtx
114 | makepattern
115 | grestore
116 | setpattern
117 | }bd
118 |
119 | /cg_BeginEPSF{
120 | userdict save/cg_b4_Inc_state exch put
121 | userdict/cg_endepsf/cg_EndEPSF load put
122 | count userdict/cg_op_count 3 -1 roll put
123 | countdictstack dup array dictstack userdict/cg_dict_array 3 -1 roll put
124 | 3 sub{end}repeat
125 | /showpage {} def
126 | 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin
127 | 10 setmiterlimit [] 0 setdash newpath
128 | false setstrokeadjust false setoverprint % don't use F
129 | }bd
130 | /cg_EndEPSF{
131 | countdictstack 3 sub { end } repeat
132 | cg_dict_array 3 1 index length 3 sub getinterval
133 | {begin}forall
134 | count userdict/cg_op_count get sub{pop}repeat
135 | userdict/cg_b4_Inc_state get restore
136 | F setpacking
137 | }bd
138 |
139 | /cg_biproc{currentfile/RunLengthDecode filter}bd
140 | /cg_aiproc{currentfile/ASCII85Decode filter/RunLengthDecode filter}bd
141 | /ImageDataSource 0 def
142 | L3?{
143 | /cg_mibiproc{pop pop/ImageDataSource{cg_biproc}def}bd
144 | /cg_miaiproc{pop pop/ImageDataSource{cg_aiproc}def}bd
145 | }{
146 | /ImageBandMask 0 def
147 | /ImageBandData 0 def
148 | /cg_mibiproc{
149 | string/ImageBandMask xs
150 | string/ImageBandData xs
151 | /ImageDataSource{[currentfile/RunLengthDecode filter dup ImageBandMask/readstring cvx
152 | /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
153 | }bd
154 | /cg_miaiproc{
155 | string/ImageBandMask xs
156 | string/ImageBandData xs
157 | /ImageDataSource{[currentfile/ASCII85Decode filter/RunLengthDecode filter
158 | dup ImageBandMask/readstring cvx
159 | /pop cvx dup ImageBandData/readstring cvx/pop cvx]cvx bind}bd
160 | }bd
161 | }ifelse
162 | /imsave 0 def
163 | /BI{save/imsave xd mark}bd
164 | /EI{imsave restore}bd
165 | /ID{
166 | counttomark 2 idiv
167 | dup 2 add % leave room for imagetype and imagematrix
168 | dict begin
169 | {def} repeat
170 | pop % remove mark
171 | /ImageType 1 def
172 | /ImageMatrix[Width 0 0 Height neg 0 Height]def
173 | currentdict dup/ImageMask known{ImageMask}{F}ifelse exch
174 | % currentdict on stack
175 | L3?{
176 | dup/MaskedImage known
177 | {
178 | pop
179 | <<
180 | /ImageType 3
181 | /InterleaveType 2
182 | /DataDict currentdict
183 | /MaskDict
184 | << /ImageType 1
185 | /Width Width
186 | /Height Height
187 | /ImageMatrix ImageMatrix
188 | /BitsPerComponent 1
189 | /Decode [0 1]
190 | currentdict/Interpolate known
191 | {/Interpolate Interpolate}if
192 | >>
193 | >>
194 | }if
195 | }if
196 | exch
197 | {imagemask}{image}ifelse
198 | end % pop imagedict from dict stack
199 | }bd
200 |
201 | /cguidfix{statusdict begin mark version end
202 | {cvr}stopped{cleartomark 0}{exch pop}ifelse
203 | 2012 lt{dup findfont dup length dict begin
204 | {1 index/FID ne 2 index/UniqueID ne and
205 | {def} {pop pop} ifelse}forall
206 | currentdict end definefont pop
207 | }{pop}ifelse
208 | }bd
209 | /t_array 0 def
210 | /t_i 0 def
211 | /t_c 1 string def
212 | /x_proc{ % x y
213 | exch t_array t_i get add exch moveto
214 | /t_i t_i 1 add store
215 | }bd
216 | /y_proc{ % x y
217 | t_array t_i get add moveto
218 | /t_i t_i 1 add store
219 | }bd
220 | /xy_proc{
221 | % x y
222 | t_array t_i 2 copy 1 add get 3 1 roll get
223 | 4 -1 roll add 3 1 roll add moveto
224 | /t_i t_i 2 add store
225 | }bd
226 | /sop 0 def % don't bind sop
227 | /cp_proc/x_proc ld % default moveto proc is for xwidths only
228 | /base_charpath % string array
229 | {
230 | /t_array xs
231 | /t_i 0 def
232 | { % char
233 | t_c 0 3 -1 roll put
234 | currentpoint
235 | t_c cply sop
236 | cp_proc
237 | }forall
238 | /t_array 0 def
239 | }bd
240 | /sop/stroke ld % default sop is stroke. Done here so we don't bind in /base_charpath
241 |
242 | % default sop is stroke
243 | /nop{}def
244 | /xsp/base_charpath ld
245 | /ysp{/cp_proc/y_proc ld base_charpath/cp_proc/x_proc ld}bd
246 | /xysp{/cp_proc/xy_proc ld base_charpath/cp_proc/x_proc ld}bd
247 | /xmp{/sop/nop ld /cp_proc/x_proc ld base_charpath/sop/stroke ld}bd
248 | /ymp{/sop/nop ld /cp_proc/y_proc ld base_charpath/sop/stroke ld}bd
249 | /xymp{/sop/nop ld /cp_proc/xy_proc ld base_charpath/sop/stroke ld}bd
250 | /refnt{ % newname encoding fontname
251 | findfont dup length dict copy dup
252 | /Encoding 4 -1 roll put
253 | definefont pop
254 | }bd
255 | /renmfont{ % newname fontname
256 | findfont dup length dict copy definefont pop
257 | }bd
258 |
259 | L3? dup dup{save exch}if
260 |
261 | % languagelevel2 ONLY code goes here
262 |
263 | /Range 0 def
264 | /DataSource 0 def
265 | /val 0 def
266 | /nRange 0 def
267 | /mulRange 0 def
268 | /d0 0 def
269 | /r0 0 def
270 | /di 0 def
271 | /ri 0 def
272 | /a0 0 def
273 | /a1 0 def
274 | /r1 0 def
275 | /r2 0 def
276 | /dx 0 def
277 | /Nsteps 0 def
278 | /sh3tp 0 def
279 | /ymax 0 def
280 | /ymin 0 def
281 | /xmax 0 def
282 | /xmin 0 def
283 |
284 | /setupFunEval % funDict -- % this calculates and sets up a function dict for evaulation.
285 | {
286 | begin
287 | /nRange Range length 2 idiv store
288 | /mulRange % precompute the range data needed to map a sample value from the table to a range value
289 | % this data looks like [ range0mul range0min range1mul range1min ... rangeN-1mul rangeN-1min ]
290 | [
291 | 0 1 nRange 1 sub
292 | { % index
293 | 2 mul/nDim2 xd % 2*dimension# we are dealing with
294 | Range nDim2 get % ymin
295 | Range nDim2 1 add get % ymin ymax
296 | 1 index sub % ymin (ymax-ymin)
297 | % xmin = 0, xmax = 255 (2^bitspersample - 1)
298 | 255 div % ymin (ymax-ymin)/(xmax - xmin)
299 | exch % (ymax-ymin)/(xmax - xmin) ymin
300 | }for
301 | ]store
302 | end
303 | }bd
304 |
305 | /FunEval % val1 fundict -> comp1 comp2 ... compN
306 | {
307 | begin
308 | % the value passed in is the base index into the table
309 | nRange mul /val xd % compute the actual index to the table
310 | % since there are nRange entries per base index
311 | 0 1 nRange 1 sub
312 | {
313 | dup 2 mul/nDim2 xd % dim
314 | val % base value to use to do our lookup
315 | add DataSource exch get % lookedupval
316 | mulRange nDim2 get mul % lookedupval*(ymax-ymin)/(xmax-xmin)
317 | mulRange nDim2 1 add get % lookedupval*(ymax-ymin)/(xmax-xmin) ymin
318 | add % interpolated result
319 | }for % comp1 comp2 ... compN
320 | end
321 | }bd
322 |
323 | /max % a b -> max(a, b)
324 | {
325 | 2 copy lt
326 | {exch pop}{pop}ifelse
327 | }bd
328 |
329 | /sh2
330 | { % emulation of shading type 2. Assumes shading dictionary is top dictionary on the dict stack
331 | /Coords load aload pop % x0 y0 x1 y1
332 | 3 index 3 index translate % origin is now at beginning point of shading
333 | % x0 y0 x1 y1
334 | 3 -1 roll sub % x0 x1 y1-y0
335 | 3 1 roll exch % y1-y0 x1 x0
336 | sub % y1-y0 x1-x0
337 | 2 copy
338 | dup mul exch dup mul add sqrt % length of segment between two points
339 | dup
340 | scale
341 | atan % atan (dy/dx)
342 | %dup (rotation angle = )print ==
343 | rotate % now line between 0,0 and 1,0 is the line perpendicular to which the axial lines are drawn
344 |
345 | /Function load setupFunEval % may need to setup function dictionary by calling setupFunEval
346 |
347 | % this is now specific to axial shadings. Compute the maximum bounds to fill
348 | clippath {pathbbox}stopped {0 0 0 0}if newpath % x0 y0 x1 y1
349 | /ymax xs
350 | /xmax xs
351 | /ymin xs
352 | /xmin xs
353 | currentdict/Extend known
354 | {
355 | /Extend load 0 get
356 | {
357 | 0/Function load FunEval sc % evaluate the function to get a color and set it
358 | xmin ymin xmin abs ymax ymin sub rectfill
359 | }if
360 | }if
361 | % paint the rects. The sampling frequency is that of our table
362 | /Nsteps/Function load/Size get 0 get 1 sub store
363 | /dx 1 Nsteps div store
364 | gsave
365 | /di ymax ymin sub store
366 | /Function load
367 | % loop Nsteps + 1 times, incrementing the index by 1 each time
368 | 0 1 Nsteps
369 | {
370 | 1 index FunEval sc
371 | 0 ymin dx di rectfill
372 | dx 0 translate
373 | }for
374 | pop % pop our function
375 | grestore % origin is back to start point
376 | currentdict/Extend known
377 | {
378 | /Extend load 1 get
379 | {
380 | Nsteps/Function load FunEval sc % last element
381 | 1 ymin xmax 1 sub abs ymax ymin sub rectfill
382 | }if
383 | }if
384 | }bd
385 |
386 | /shp % this paints our shape for shading type 3
387 | { % x1 r1 x0 r0 -
388 | 4 copy
389 |
390 | % fill interior arc
391 | dup 0 gt{
392 | 0 exch a1 a0 arc
393 | }{
394 | pop 0 moveto
395 | }ifelse
396 |
397 | dup 0 gt{
398 | 0 exch a0 a1 arcn
399 | }{
400 | pop 0 lineto
401 | }ifelse
402 |
403 | fill
404 |
405 | % fill exterior arc
406 | dup 0 gt{
407 | 0 exch a0 a1 arc
408 | }{
409 | pop 0 moveto
410 | }ifelse
411 |
412 | dup 0 gt{
413 | 0 exch a1 a0 arcn
414 | }{
415 | pop 0 lineto
416 | }ifelse
417 |
418 | fill
419 | }bd
420 |
421 | /calcmaxs
422 | { % calculate maximum distance vector from origin to corner points
423 | % of bbox
424 | xmin dup mul ymin dup mul add sqrt % (xmin2 + ymin2)
425 | xmax dup mul ymin dup mul add sqrt % (xmax2 + ymin2)
426 | xmin dup mul ymax dup mul add sqrt % (xmin2 + ymax2)
427 | xmax dup mul ymax dup mul add sqrt % (xmax2 + ymax2)
428 | max max max % maximum value
429 | }bd
430 |
431 | /sh3
432 | { % emulation of shading type 3. Assumes shading dictionary is top dictionary on the dict stack
433 | /Coords load aload pop % x0 y0 r1 x1 y1 r2
434 | 5 index 5 index translate % origin is now at first circle origin
435 | 3 -1 roll 6 -1 roll sub % y0 r1 y1 r2 dx
436 | 3 -1 roll 5 -1 roll sub % r1 r2 dx dy
437 | 2 copy dup mul exch dup mul add sqrt
438 | /dx xs % r1 r2 dx dy
439 | 2 copy 0 ne exch 0 ne or
440 | {
441 | % r1 r2 dx dy
442 | exch atan rotate % we are now rotated so dy is zero and positive values of dx move us as expected
443 | }{
444 | pop pop
445 | }ifelse
446 | % r1 r2
447 | /r2 xs
448 | /r1 xs
449 | /Function load
450 | dup/Size get 0 get 1 sub % this is the size of our table minus 1
451 | /Nsteps xs % at some point we should optimize this better so NSteps is based on needed steps for the device
452 | setupFunEval % may need to setup function dictionary by calling setupFunEval
453 | % determine the case:
454 | % case 0: circle1 inside circle2
455 | % case 1: circle 2 inside circle 1
456 | % case 2: r1 = r2
457 | % case 3: r1 != r2
458 | dx r2 add r1 lt{
459 | % circle 2 inside of circle 1
460 | 0
461 | }{
462 | dx r1 add r2 le
463 | { % circle 1 inside of circle 2
464 | 1
465 | }{ % circles don't contain each other
466 | r1 r2 eq
467 | { % equal
468 | 2
469 | }{ % r1 != r2
470 | 3
471 | }ifelse
472 | }ifelse
473 | }ifelse
474 | /sh3tp xs % sh3tp has the number of our different cases
475 | clippath {pathbbox}stopped {0 0 0 0}if
476 | newpath % x0 y0 x1 y1
477 | /ymax xs
478 | /xmax xs
479 | /ymin xs
480 | /xmin xs
481 |
482 | % Arc angle atan( sqrt((dx*dx + dy*dy) - dr*dr), dr)
483 | dx dup mul r2 r1 sub dup mul sub dup 0 gt
484 | {
485 | sqrt r2 r1 sub atan
486 | /a0 exch 180 exch sub store
487 | /a1 a0 neg store
488 | }{
489 | pop
490 | /a0 0 store
491 | /a1 360 store
492 | }ifelse
493 |
494 | currentdict/Extend known
495 | {
496 | /Extend load 0 get r1 0 gt and % no need to extend if the radius of the first end is 0
497 | {
498 | 0/Function load FunEval sc % evaluate the function to get a color and set it
499 | % case 0: circle1 inside circle2
500 | % case 1: circle 2 inside circle 1
501 | % case 2: circles don't contain each other and r1 == r2
502 | % case 3: circles don't contain each other and r1 != r2
503 | {
504 | { % case 0
505 | dx 0 r1 360 0 arcn
506 | xmin ymin moveto
507 | xmax ymin lineto
508 | xmax ymax lineto
509 | xmin ymax lineto
510 | xmin ymin lineto
511 | eofill % for the bigger radius we fill everything except our circle
512 | }
513 | { % case 1
514 | r1 0 gt{0 0 r1 0 360 arc fill}if
515 | }
516 | { % case 2
517 | % r1 == r2, extend 0
518 | % r3 = r, x3 = -(abs(minx) + r), x1 = 0
519 |
520 | % x(i+1) r(i+1) x(i) r(i) shp
521 | 0 r1 xmin abs r1 add neg r1 shp
522 | }
523 | { % case 3
524 | % no containment, r1 != r2
525 |
526 | r2 r1 gt{ % the endpoint we are drawing is that with a circle of zero radius
527 | % x(i+1) r(i+1) x(i) r(i) shp
528 | 0 r1
529 | r1 neg r2 r1 sub div dx mul % this is point of beginning circle
530 | 0 % point of ending circle
531 | shp % takes x(i+1) r(i+1) x(i) r(i)
532 | }{ % the first circle is the bigger of the two
533 | % we find a circle on our line which is outside the bbox in the
534 | % negative direction
535 | % x(i+1) r(i+1) x(i) r(i) shp
536 | 0 r1 calcmaxs % 0 r1 maxs
537 | dup
538 | % calculating xs: (-(maxs+r2)*x2)/(x2-(r1-r2))
539 | r2 add dx mul dx r1 r2 sub sub div
540 | neg % maxs xs'
541 | exch 1 index % xs' maxs xs'
542 | abs exch sub
543 | shp
544 | }ifelse
545 | }
546 | }sh3tp get exec % execute the extend at beginning proc for our shading type
547 | }if
548 | }if
549 |
550 | % now do the shading
551 | /d0 0 store
552 | /r0 r1 store
553 | /di dx Nsteps div store
554 | /ri r2 r1 sub Nsteps div store
555 | /Function load
556 | 0 1 Nsteps
557 | { % function t(i)
558 | 1 index FunEval sc
559 | d0 di add r0 ri add d0 r0 shp
560 | {
561 | % fill interior arc
562 | d0 0 r0 a1 a0 arc
563 | d0 di add 0 r0 ri add a0 a1 arcn
564 | fill
565 |
566 | % fill exterior arc
567 | d0 0 r0 a0 a1 arc
568 | d0 di add 0 r0 ri add a1 a0 arcn
569 | fill
570 | }pop
571 |
572 | % advance to next
573 | /d0 d0 di add store
574 | /r0 r0 ri add store
575 | }for
576 | pop % pop our function dict
577 |
578 | % handle Extend
579 | currentdict/Extend known
580 | {
581 | /Extend load 1 get r2 0 gt and % no need to extend if the radius of the last end is 0
582 | {
583 | Nsteps/Function load FunEval sc % last element
584 | % case 0: circle1 inside circle2
585 | % case 1: circle 2 inside circle 1
586 | % case 2: circles don't contain each other and r1 == r2
587 | % case 3: circles don't contain each other and r1 != r2
588 | {
589 | {
590 | dx 0 r2 0 360 arc fill
591 | }
592 | {
593 | dx 0 r2 360 0 arcn
594 | xmin ymin moveto
595 | xmax ymin lineto
596 | xmax ymax lineto
597 | xmin ymax lineto
598 | xmin ymin lineto
599 | eofill % for the bigger radius we fill everything except our circle
600 | }
601 | { % r1 == r2, extend 1
602 | % r3 = r, x3 = (abs(xmax) + r), x1 = dx
603 | % x(i+1) r(i+1) x(i) r(i) shp
604 | xmax abs r1 add r1 dx r1 shp
605 | }
606 | { % no containment, r1 != r2
607 |
608 | r2 r1 gt{
609 | % we find a circle on our line which is outside the bbox in the
610 | % positive direction
611 | % x(i+1) r(i+1) x(i) r(i) shp
612 | calcmaxs dup % maxs maxs
613 | % calculating xs: ((maxs+r1)*x2)/(x2-(r2-r1))
614 | r1 add dx mul dx r2 r1 sub sub div % maxs xs
615 | exch 1 index % xs maxs xs
616 | exch sub
617 | dx r2
618 | shp
619 | }{ % the endpoint we are drawing is that with a circle of zero radius
620 | % x(i+1) r(i+1) x(i) r(i) shp
621 | r1 neg r2 r1 sub div dx mul % this is point of ending circle
622 | 0 % radius of ending circle
623 | dx % point of starting circle
624 | r2 % radius of starting circle
625 | shp
626 | }ifelse
627 | }
628 | }
629 | sh3tp get exec % execute the extend at end proc for our shading type
630 | }if
631 | }if
632 | }bd
633 | /sh % emulation of shfill operator for type 2 and type 3 shadings based on type 0 functions
634 | { % shadingDict --
635 | begin
636 | /ShadingType load dup dup 2 eq exch 3 eq or
637 | { % shadingtype
638 | gsave
639 | newpath
640 | /ColorSpace load scs
641 | currentdict/BBox known
642 | {
643 | /BBox load aload pop % llx lly urx ury
644 | 2 index sub % llx lly urx ury-lly
645 | 3 index % llx lly urx ury-lly llx
646 | 3 -1 roll exch sub
647 | exch rectclip
648 | }if
649 | 2 eq
650 | {sh2}{sh3}ifelse
651 | grestore
652 | }{
653 | % shadingtype
654 | pop
655 | (DEBUG: shading type unimplemented\n)print flush
656 | }ifelse
657 | end
658 | }bd
659 |
660 | % end of language level 2 ONLY code
661 |
662 | {restore}if not dup{save exch}if
663 | % languagelevel3 ONLY code goes here
664 | L3?{ % we do these loads conditionally or else they will fail on a level 2 printer
665 | /sh/shfill ld
666 | /csq/clipsave ld
667 | /csQ/cliprestore ld
668 | }if
669 | {restore}if
670 |
671 | %currentdict dup maxlength exch length sub (number of extra slots in md = )print == flush % *** how many entries are free
672 | end
673 | setpacking
674 | % count 0 ne { pstack(***extras on stack during prolog execution***\n)print flush}if % *** BARK if anything is left on stack
675 | %%EndFile
676 | %%EndProlog
677 | %%BeginSetup
678 | %%EndSetup
679 | %%Page: 1 1
680 | %%PageBoundingBox: 0 0 374 159
681 | %%BeginPageSetup
682 | cg_md begin
683 | bp
684 | sdmtx
685 | %RBIBeginFontSubset: RMMAGE+WenYue-GuDianMingChaoTi-NC-W5
686 | %!FontType1-1.0: AAAAAJ+WenYue-GuDianMingChaoTi-NC-W5 001.003
%%CreationDate: 4/20/18
% Copyright 2018 Apple Inc. and its licensors, all rights reserved.
11 dict begin
/FontInfo 9 dict dup begin
/version (001.003) readonly def
/FullName (WenYue-GuDianMingChaoTi-NC-W5) readonly def
/FamilyName (WenYue-GuDianMingChaoTi-NC-W5) readonly def
/Weight (SnapShot) readonly def
/isFixedPitch false def
/UnderlinePosition 20 def
/UnderlineThickness 40 def
end readonly def
/FontName /AAAAAJ+WenYue-GuDianMingChaoTi-NC-W5 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.0010 0 0 0.0010 0 0] readonly def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for
readonly def
/FontBBox {-195 -283 1196 944} readonly def
currentdict end
currentfile eexec
D9D66F633B846A989B9974B0179FC6CC4458BB4CB99E3608702C78822367AAF89059868F63F93207640A6BD5DA214789
139C491E02A37BF3866F2964E8D690D48D9F6C4A5EC22355F8123573812483E06B968AE84B5F20A982A0E65764753516
97AB8C6EA040355C5542F297D7A3AF28AB93EA0771E0D56DBF00F7CA9CE9FB9FC2E0ECB00D04D5F5F3F24B987B546D62
74971A477DEE12C44623C180BCDBA21172627610C4736632D1A4693E79719C3BC43DF5330790A52DCD4CF455ACC213F6
B1C4BA249179DB360225568161552A16682E3A3604BFC39D571B1F8F18375BECF1C5066694AE864EFC9A863DDE6D4B9C
BD0D2B278C134BD8A60B58EA633EF6B5FC94A90A2396C406684764E79A3225DF9754A63B72D16FB185A5BCF2D58F4608
684F782CE77F672453E416E53EEF765BB1FC0A7604BF819DD28AD73F6D857A26B50F7E388414B50F2E8DBF6CE483654A
0716F946586F8BA2BE71149BB2C010F2FA300E1D1DE9AC30F09FB927CE9E9F34F5FF60F8719241B28139D8AEDC3A6CEA
601DB9E54C92120E60C36878A3390FEF9F8EE6949EAEAC849422FE2609869446A9ABDF57284A1536F6F3C4ABA92E851A
18C705EAD525D9E63B31BC06B9BE6FB274F3649CAAD0B3522BE05CD31BC80228E9ED50882027BB21B0C3C1C44A10309F
BF244E71B0BBB7A2878FB008B977275B31A19269F5C94F697058E92A23B61A35E034C32559619377B0CF12525FC025B2
97984527181644C39AB832F23D3450218DE3295B31FB3BD7BD380F14876034AFAE253BA21C5C903C3E439234298DCE66
EA759AB3C8F4B7C25115F0BFA4C6C9E3CE4E00AFD6C0BD228FE88CD3FDE39A00EDB5382B0DE77E2925F078C87179E00A
FFBD081E4868D569543E31CD8AF244DCF739C603816874081CA62EE971A49295C049870422A6D6AD7724BE447AF9E3DB
4422208092DDE7A289BD9E3BB95A7DD10AEC1EE3E8589FA4C03A4A9F49C23D9B6CE52F8C9FD7DA4A56A4402F809B1547
CD82AA867410F1859ED6E7ECD5AF7BA950910FFB44361DF222E215995FB8CE3D1D2DE312B5DB41946E70111600AD5902
3DC9FF2C7929F419D19D711B96912C06ED0F0E6D18E8941D571C3BCFB148506139BFBF511D5F6A1E28001A79097D0CF3
6A5A05143BF1D3378F037F643371403044897AA17331E5C4A942D441CA2B7F39ABB4A358BDA0FE8E71B6347421A18172
CF88CF4863AB716EF61C9F312ED7A36A72B435CC6C988B27E97FCDC3B603F737267C8786505DE9629E2F0BD4883BF5A0
02AB4C925B0276E2AD198103F892E69F29D6B6984482BF81F5670846D213EAE8008FB7CCC5704F8D705F284E23EC13BC
D3BF5121682FEB6A69BD84D8A5B43B106235EA5B726126FA66A25EA9754CAD9B4F9B10A3078E4A43DD7462442D2B952B
A4E145ECB9BE0FE876F35F5D119BBE82C2F96230561E204DE6E355A05819535BC0ED803254A96E833B2A5284D106BC9C
7AE28F578DF163C896A9D081F34858B43AFC38764FB52F5FF496BA3DE42B2557CDAAEDCAF9646D466D6F6C958DC16139
748658E36836D2DBEF1C2B301DB7AAFC0BCCDA149157E076E50BB4F33AB7465C7AB1ADE8102DDDD9EEC1FA8C600C33FC
A26A14800C1EE28DF2E42F5A41696E448F03C8066134571AAE7FA5FB843E98C3E87248B3D07D84469EE0CEF1B43D94D7
A4A129214B6E9D1C00AE2D86AE3031700BE408A4F43CD63F8C32FAE965B6B48102EF0482449DCEFF87EA33B87BF7ABAE
27CBA7F61D0C492C49580D8CF61E36ED3601F5783A7E89A488DEB178F2B9EA0A392D134B71311FDCF2914F917B8D579E
95D25E274B62B4837BFCDF2E0C0EB3DB966D60BFBF9978DD6B92F8C6C04AFFEC00FF16544ECC2B19DF9E4116A4C12392
E7F4853AB7100D7AF646A15E7BBDED7D2AFD5104841E4152EC870A3417ACC2AD94FE7BD701C6545F7B94CDE2A9192D0B
AFC0A4F605BD068B07608B5CB69B80B4721BC6D24179BA5AC7873C1E67DC46C12815E06C03C36A597887F840B3968D4F
A8A5BC71C97A20F23027B53B4578A8349C3471C00B50D6DF6A5A5EA28AA6053F843B0E04B80C3ECE1B972F8AADFC3808
734C634E800D374B1627D63C40BD9FB2143F0F55F15F1379FB890ACBDD0B09FB5AC5494650EA151DCC7DD66A0EC5AB8B
E200500FF3325077CAAE686EC287E4CA2543F1D20778132BFE3D577DD7A19688622FE62A30BFAFB0AED872F0A58B4EA7
09F9C508EF7566B80EB4A2A3FF0B6746DB529C56DA07ABF197A9AAB43B219244F055A12644C37E749E783FA6CD7BA046
66B106F0F22178C7677F52041B6A84CFB46EE4CABE03EA68ECF0EB73C1558D0C7FA22A33FA7F1DD378CBDD2D69EE8434
718DA604ACC1E3BC6B07D5FE7779BEBB7ADAA6A2D91A15FF2AAC2AEEDA1AEDE8264C3BF06D6D8B87F39E8AB2E68ADB42
8553DAAA55E04779F87F3F510AB1BF1DE2DF2F0332FB7E021E08F404F07DC457D40EA2426CBA8E7B5DA26F69C7452417
4CD84B664F322571DE995CDF0399FDDF9226B3668F2CA007EEE3C8E43B3A1EFFE1A391DDE84CA6E33C311046CFAE8722
BCA961117A23A6D48F3B07AEA5366F9E2D7E9468215613D7340696025353A9DDB826718B3382BFB67690C1B546176BA3
4BDB93E28D08425982FA40AE15CC44329FE27C0632E3ED1F9AF141337F3BF5E05A8DB056F674D3DEC6E146BB026AEA07
F3429A06C4F1539027C5C8A8829A75F47BEAA664B43108CB0ECB20409D567DED7B578191A7FE9613890DCBB9DEEFFD4F
8BAE6B014247DD710F027D5DAD2259C7804129B11467344C2357959225C18C721D3C6B5F1E2828DEC1CE52F83526EC26
2FD0E3D1C46474119C5E65C477C68644FC5F9B8AA8684340F2D31B7C42E7E403D60A41CBF7183DEC2DD44A797B782F22
9E419C76BD94EB85D4AE62FA2C39C8BBD9E2134B923BE1407CB3C536278164E8091118B7CEE91098D3150128749FCB5C
2B62A4637420D0B978D1B3F41977D5956D02B317B25FC00644B5E2185BE866D07C5CF3017F95C526C08252FD0E27C1D9
CD1682034A9F465A56CCA259BEBA3467D7021A57687CA31416609002A0B958903783E93720E52F65C2B5DF7EEA7CABFE
783E94CCA72081ADFBEE7915F335AE87A4CE232AF57AB8DBEA7FF03D522FEE08CAA1C8596C68266CB6A552B177720FF1
C6EFA3ACF756F941643E2612E8A71E0AA2242A1AA793238CA12513A50245E8DF2BF23A9E8273F0812773349FA2E8FC2E
834CAA4EF5C2F1016DDF1046D748B2A6B67557C3696ADDB7CBC6F0E0A7FFA53E72CBF04BF52062AC5492DF22B5CADD7A
58AC9A67152D18F6D0FA9E17C8FC549EEFB601EBFEE4D14179452E9E1756B78317C20DDC55232B2F42A2D088A05E9BAF
4FDB62B224F71DA59CB5DC9D7FD8A435CAA7BC78BF96B763BE87534B801C455C5EEDCC126DC7AB1A1B8BE9A15754BF1A
B39190CA29C702640C5DBD56430CDAE36B7D8ED505559DAB6EEF78F4342E691E7B4BD8B5DE7E8B17A7D6C0949D977F07
08DAF620C2254F622490CB3BD015265DF5F18D9533C39F44C3D36015E3E772C6854639CDAB274E09B3B0608D1FB699DA
0E6485D30D7FF1FEDB4949845D25B98BC81EC0FD6B3B676C13E9619BCDEA157581D12FE654E70CEE49ABD436D646D9F0
37E4261108952F0DAFC8C168CFF5736328EE27D865FCAE7D9BB972F4A1462C726EBA6AED78F62DF152ED97E8AD6AFB6E
01C073999C7DA709405E0CEF91009015EACAB33D960D50BB76E27308EA1A2D776C42ABE2BB0592A7379779C86D78D940
3F4BE658528CC68B710FB26FBFF3188DD57C75C5CE9C096849DC0C497AE85B214F1DD76D490204568A86E9B390D26CDB
A2DAE88D012992C0E18190B21BEECCB3DF758B0E318153386B815700B7BD1954198D97EA2B7E788E230A0F2BB9F9D81A
327CAB932389127FB4DB6D85387904640269B051189199DC04679BB37A40C36043B1F3C84E8671CE033BFAE30B9736D5
38F0B94314A18587897F6524ACF6723D09444EE8BAF3781D1D4B8AC5BE5511BC2504EE889C25BB00AC9BC21C184A2030
36504F0E11147478B4D28CA56748121245B2FFF92E0FB189E4079A8E8DE37A21F082DED2AD50069B0024E01066523760
1F08846C6185F66E49A46B3DCB05DE71A9F86A7B51421EA2F0961C9D913F5A909BB9121527A3CE23BA565A84175B85A7
CA17E1A8623B0EBF9488FBC26D3B623142D6E9DF72ABE0079A980426BDACEB2398F0DFA8137DAAFEDE1EE211EEBDDD4C
F8342D315C58262F9B67B20A5E1A575DE570CAD53913C22248205A93F50F0E5EBCE901E9C720AC7D32247C0D939A69DC
D8901CDE66209428D7655D7F321B935B309FB61D51B2C633ED3AB283FDFC4959DC30743F2F6F6FD97796B1CF675FDA15
7D3BF37C617CCD694C02C538BC7B415C24EEA6027DA51F6772C9079108390BB78E0A9155ED1940F076BE8BAC47DDFC21
6D0B0ACC4C3B530F28F5F192658BD3612585F5AB2976D79EA5C12459FA6C8EE3240476CEA452D24AC9B8869CFBAD1634
3640A598A071A2CF60FD180E98DE3C67763A7A0C15B5266AF8531CCAE51D265649E14FF52B2DC42A08F6394704111A80
7CD3430021002F2B259D4117BA2ADFF3D2151EF613B9CC31091EAAA64D645DC5B4BC931C157F79A94A77CB5D3C942AC7
47C4D880C06E33B7FE857D02D06B8BE7D58BA3CEB7901E3761DC49EFBA43B6E2C0EE09B16A79FE5BFF8F111934809335
88F304F749CFED31541A6399425FC21978CBEBDF39AEABDD4B88A6E208B1B32DC8FD4C2693F2DCCC04FBDF27698D34A2
94A49B1C1E8FBB92D80FED12ED489687F3823CD695AB861BD4A72293E76C42F36C7034A0A8667B59879685DDC1821092
A246FA1CD138CF7CB18DEBA6122F8B8022A1E964F4C186BC2690AC9E7909956A18BB5CA4878977A2A7483ED4C2FCDBB0
19242303DB7A3BCC879DBB8F94A1703481B4A999ECD312C481C100319328F529187F7E5B9001EAEFC923D80B37C3AC41
E6A8F6E221695FBABA1EF59D97F8AA0E940BEE2E4DC1197C337E7C1500ED087F690EF355956D69606178106947E661FF
647AD8D09315866463583D5BD2390DC375AB4A0DD0FB658F4E271F1D3C37E1CA3BD2D059263D128463CE93E9CC0D26A6
0CFAB53C098AE47B0663F65BB5408B9EA8911CFF6784897D1C7B6B2B2FA96530581462AEA98F01BD8E48C8E923F94C16
FF1247505BD23A5667DEC05AB78F83B3E7D0097F372F5D663620CAA01E2DD8D44F74D7C1D7F9ED8190788CADB928A3E9
D575227216AACAC6AEB2836A8E108817CB7EEC70F5F2AEC42D4BA1F4B882FE2AB1137A630409366912B9C12761BF34C2
4602A8DB9386D53CB781503F9782763A95523D973BEA0B983D307FDCC5802047459833C22706C198FD6CEFD8B1315E44
041691D1A5697BFA33A58B458242194C3E2743F442F222F80B7AB03A2E5E71C44EE44594DC0DFBDAAA10E5444585B529
BE06F68B21E7A12EE4B73576A365703F618575FD32B7B6BE47E3521048375A0FF14E6E5EFB3AAC8B3881442308517D36
D55A6CA30CACC0E3464D2D5EFD67A0EEEA87737375647FCAB4B5338F7E8FA83BD4CF5792F91639B61602B04673D2DD09
5A3B37A7C9D5D75D5BD91822DF859099F2ECB5FD131C0070CD2D8EE8D70C0C4FB52300BFAC9620CA7010871762E533D1
19A0BBBAAC07C92A4F42E1DDCEDC459D2C9EF8970E1787BD4A4D9B399A0816ACC8C8D60E8931007DFF7CC3FFA7B884E1
B747D6F5883D621E4682AC770972E52B664EFC0F15810FB31890E3CB2850BBCFB6B7773F5B9B33909A2616ED784E93DB
14E6CB753BAB8655552CBDD8037516F1E2174D3F1AEC2D18B2B72F141E056247EB9185F7502C09BC2FEA5037F88E1A97
7538CB544387FFB1A3121D6A53F4E739B5349D02FBE1A89C3F24B24EA74D298973BE3C27155AECD3B7FC909B3F5048A6
E0C8B664C8078A26F78F42A366470489BB444B5DB5182C784F2405A65EA90E9EEAEB46D104C61E295566F307F740008F
99020D5F1BD97523DDC0EF56E8A73680CAB742ED78CE4DC3600F8D9314A44B202424263195897A50AF243C36D8EE7707
DE7D514FDEDC5C4AC6D92A34CE92D3CD24F07D1419320D77780C96FCF49744E7510EEA0D737595D6A0FC71F0647599ED
AF7B7A791BDC9EF76A124F486DE476ABD286DF1AA20EDD8A43D2E85E41115B65417A60A0B795AA12897EB72C58CDD22E
CA85904C5D749A5E6F7D16B03B1641864D4C0C655D8AA5F2C73AA8BA1D30E377D6379F8B328EBF321262F9621860101E
86793465125F7090569908BE1618A9FA8829CA86561F24226FF0639055ABE4DD3723CF3D79EB8ABBCF78F72FA8601D83
D78265E819F4596E27166BC4C16B0D583A1FB6E03F02CF001A7AD3EE414324FC412734A374AE7FC9C71843056DE150F9
77E5F7D5359EE7DD613521280350AA03E6B32BC7E8B517171F832E1AF43F00AAEE2071B0D212E375745348C682D9DD3B
4E95FA33CBB5E8914EA6F746D8CBB977C96248D21998680F88012E135194F1522AC571ACE10359CD1A37128BEBD5A0EF
57C0762A5094B7CA720E1DA3D4FCD31A997D51DABAE899F3416515639D54A63AD412BA142787170ECE739D329C1F549B
2D92CC11690AD32812667E722A02B542857D02112C4FD5B62DD96BAF828F0CEFB1B3440FF35D196884EFB22DE1151987
D8C847C4A903F027832BD10590212E2388FC57F59B7245DF2B7F6FD2B12CCCC0857CE462771EDF42CE246FA1C152EDAA
D1839B3423B8CEC516A76E0A41393776631053C18FCC1D94D8AF96E89387C780C1DBFF6A37E36D2E154340B2B3564C3A
0E6C070C1940BFEEF042F6BEAC5CABC9DAF7CA866360F0FD5C71819D52A64D1DC5624B35A09CEE89D27B65EAE983A756
1BC784493A01ADAABAA943108821951908A4E40E07A4A7FCF3E47E6E7B667B214A4431881BFC3D720997B1CCD6F5EEF0
E9FF4050E3100916C6B5FB7A661B0A2259CE7315D9B863B36A88F46F36EFA3444B164B3383D4952889A352F2B7BF197B
6C76260D9F401E83389E62380ECD199F2302D0B2CBF99AC1EEAB475C9AD29D2B3AA379771A5CB448454B3A09A349CA1E
93DFBD1BD915C08498FB54987C6573C2CFC6F453E86B84C35E42E2EFA235E0584621CD39DCCBB002537E2A55D6F2F99D
DBD924CC5D434D45477190B9C3787ED0B93BB904EA73089F19847887506801F6E4FB79EF3CA0C88F95CF6BBF2AC8D96B
66427689E8AD5DEB15747E1B6FF1B1BBC937B0CE9E58E3697F4210BB894424847028C2210A64221F07ED47C6C7B3CCA9
38094C2343987CE9B52400F6EA83762FD13A8EDC5FB2280956D69679FE3B78507CD5ABDEC034A2F3F51C3287FC7F5C86
42DA600578D8F737486CF10EE13BE0F6E97F831E6A13E71D9FFB74FDDB6B7B3CA45D1951E06D94283F218C7814DA1902
CF627616E779FB13E292E9197F07ADC7DB8947312CBDD37D6CD9033D2B653BFB123807123BFE1EE751E23445F398079C
BBF945EF88E277D14080A434D477860D835B14DE87BA77E759FDC657252C3AE88F49BD8789638DF4249BE3D09A9894E9
C61FEA61F5F1520F8E1FF36AA6C3F273E693D80A57C86FD14337F4B7C8BD4353324F5782977F8FE39749709AEAF603D1
EAC1A6D424044BD9F1F301913666983514CB8ABFFF17EC51B9108482C1ED93B6C649004E90F03946D1E81D28AC3E6BE7
7A5F29F64E12B1B194A41AD0D4C156B3807C671FB05D2951C74130728700635599564D095C27FA8F96AD343ABB9755F1
A7FD56FB03EF60ABBFC8114E608569E30092CC406D99A5A45CB1A4ACE5D3F5D279979E0B003FF51CC1C60DD231BB0AD0
39899896045C0D6D458682EC4850A2CDBC372289D65B1C833A1B2AA70B38A9E0CEB612F26852F302B5A0CF5AA8F9D5C1
D8636CD947C2D6B2BA5F829A831A071948EE4FC4E5449A7FCA2038F35DF62264312D7257BADD9F973374A64C178BB1C8
18A2377C04EF4638D04300DFD77440F5EB2AC013815777192FCABDE25A3B1E07149549AC1B2ADECD3D907CA2DC74B147
7B93807D36B84D74B27F05BA5500D7AC4FB9961FC204C797B3E960F581BFA79544B1A2F7D692E16646E6F20069A84BE7
2B3A48731E2435367E24534F36C7796AA03854FC13CC90D74A9FC881C3D8E85B76FBB10040F0DADEE2394BBBFE6CC689
E9AE04EC52C52383F10FA0AE69AD99FFF5A8BA769AF472C7B8587328759DB9558D6C08B6421C1392068A4613B9957FBD
C27DB7E74DC276AAF9BE1B76FE58406CF5349ADDE09D39A5D01E100516CB839EDAEBCDDFBC304932ABF4B35384510C76
8E5DEDFFE776D3DDE74551160405AD8FA35D436CD15926D6060B133E5ED6F938F6B303EDD53A1B4248A0DDD6F3F85768
D0C484E5DA4F4654972178C1591805659FDF877761E5740E90748DFFF039D12484D10A6DE79F63AEAC8B5833472707D9
AD88B07BF050632D1662E4A29D91E541FC28BE2051F215522BE51C180B984AA55B49ACEDABC4CC953B7EC4EDFF6C5F1F
1F95FE9D93D9ABBC952670E582DC398F84F8A2B04874BA3E39DB40C59602E219211533F6F9F6049E8BBC2FA53D983E6A
31E84FCE124EFFB36ADA32E8C50046D6E8AFD3820531EB3B040196ABC1B8050B07ABCC2FE3A9E3CE982626AE1AC30E92
EC26144F905CE1593B4F14
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%!FontType1-1.0: AAAAAK+WenYue-GuDianMingChaoTi-NC-W5 001.003
%%CreationDate: 4/20/18
% Copyright 2018 Apple Inc. and its licensors, all rights reserved.
11 dict begin
/FontInfo 9 dict dup begin
/version (001.003) readonly def
/FullName (WenYue-GuDianMingChaoTi-NC-W5) readonly def
/FamilyName (WenYue-GuDianMingChaoTi-NC-W5) readonly def
/Weight (SnapShot) readonly def
/isFixedPitch false def
/UnderlinePosition 20 def
/UnderlineThickness 40 def
end readonly def
/FontName /AAAAAK+WenYue-GuDianMingChaoTi-NC-W5 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.0010 0 0 0.0010 0 0] readonly def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for
dup 0 /cid49 put
dup 1 /cid73 put
dup 2 /cid79 put
dup 3 /cid80 put
dup 4 /cid85 put
dup 5 /cid90 put
readonly def
/FontBBox {-195 -283 1196 944} readonly def
currentdict end
currentfile eexec
D9D66F633B846A989B9974B0179FC6CC4458BB4CB99E3608702C78822367AAF89059868F63F93207640A6BD5DA214789
139C491E02A37BF3866F2964E8D690D48D9F6C4A5EC22355F8123573812483E06B968AE84B5F20A982A0E65764753516
97AB8C6EA040355C5542F297D7A3AF28AB93EA0771E0D56DBF00F7CA9CE9FB9FC2E0ECB00D04D5F5F3F24B987B546D62
74971A477DEE12C44623C180BCDBA21172627610C4736632D1A4693E79719C3BC43DF5330790A52DCD4CF455ACC213F6
B1C4BA249179DB360225568161552A16682E3A3604BFC39D571B1F8F18375BECF1C5066694AE864EFC9A863DDE6D4B9C
BD0D2B278C134BD8A60B58EA633EF6B5FC94A90A2396C406684764E79A3225DF9754A63B72D16FB185A5BCF2D58F4608
684F782CE77F672453E416E53EEF765BB1FC0A7604BF819DD28AD73F6D857A26B50F7E388414B50F2E8DBF6CE483654A
0716F946586F8BA2BE71149BB2C010F2FA300E1D1DE9AC30F09FB927CE9E9F34F5FF60F8719241B28139D8AEDC3A6CEA
601DB9E54C92120E60C36878A3390FEF9F8EE6949EAEAC849422FE2609869446A9ABDF57284A1536F6F3C4ABA92E851A
18C705EAD525D9E63B31BC06B9BE6FB274F3649CAAD0B3522BE05CD31BC80228E9ED50882027BB21B0C3C1C44A10309F
BF244E71B0BBB7A2878FB008B977275B31A19269F5C94F697058E92A23B61A35E034C32559619377B0CF12525FC025B2
97984527181644C39AB832F23D3450218DE3295B31FB3BD7BD380F14876034AFAE253BA21C5C903C3E439234298DCE66
EA759AB3C8F4B7C25115F0BFA4C6C9E3CE4E00AFD6C0BD228FE88CD3FDE39A00EDB5382B0DE77E2925F078C87179E00A
FFBD081E4868D569543E31CD8AF244DCF739C603816874081CA62EE971A49295C049870422A6D6AD7724BE447AF9E3DB
4422208092DDE7A289BD9E3BB95A7DD10AEC1EE3E8589FA4C03A4A9F49C23D9B6CE52F8C9FD7DA4A56A4402F809B1547
CD82AA867410F1859ED6E7ECD5AF7BA950910FFB44361DF222E215995FB8CE3D1D2DE312B5DB41946E70111600AD5902
3DC9FF2C7929F419D19D711B96912C06ED0F0E6D18E8941D571C3BCFB148506139BFBF511D5F6A1E28001A79097D0CF3
6A5A05143BF1D3378F037F643371403044897AA17331E5C4A942D441CA2B7F39ABB4A358BDA0FE8E71B6347421A18172
CF88CF4863AB716EF61C9F312ED7A36A72B435CC6C988B27E97FCDC3B603F737267C8786505DE9629E2F0BD4883BF5A0
02AB4C925B0276E2AD198103F892E69F29D6B6984482BF81F5670846D213EAE8008FB7CCC5704F8D705F284E23EC13BC
D3BF5121682FEB6A69BD84D8A5B43B106235EA5B726126FA66A25EA9754CAD9B4F9B10A3078E4A43DD7462442D2B952B
A4E145ECB9BE0FE876F35F5D119BBE82C2F96230561E204DE6E355A05819535BC0ED803254A96E833B2A5284D106BC9C
7AE28F578DF163C896A9D081F34858B43AFC38764FB52F5FF496BA3DE42B2557CDAAEDCAF9646D466D6F6C958DC16139
748658E36836D2DBEF1C2B301DB7AAFC0BCCDA149157E076E50BB4F33AB7465C7AB1ADE8102DDDD9EEC1FA8C600C33FC
A26A14800C1EE28DF2E42F5A41696E448F03C8066134571AAE7FA5FB843E98C3E87248B3D07D84469EE0CEF1B43D94D7
A4A129214B6E9D1C00AE2D86AE3031700BE408A4F43CD63F8C32FAE965B6B48102EF0482449DCEFF87EA33B87BF7ABAE
27CBA7F61D0C492C49580D8CF61E36ED3601F5783A7E89A488DEB178F2B9EA0A392D134B71311FDCF2914F917B8D579E
95D25E274B62B4837BFCDF2E0C0EB3DB966D60BFBF9978DD6B92F8C6C04AFFEC00FF16544ECC2B19DF9E4116A4C12392
E7F4853AB7100D7AF646A15E7BBDED7D2AFD5104841E4152EC870A3417ACC2AD94FE7BD701C6545F7B94CDE2A9192D0B
AFC0A4F605BD068B07608B5CB69B80B4721BC6D24179BA5AC7873C1E67DC46C12815E06C03C36A597887F840B3968D4F
A8A5BC71C97A20F23027B53B4578A8349C3471C00B50D6DF6A5A5EA28AA6053F843B0E04B80C3ECE1B972F8AADFC3808
734C634E800D374B1627D63C40BD9FB2143F0F55F15F1379FB890ACBDD0B09FB5AC5494650EA151DCC7DD66A0EC5AB8B
E200500FF3325077CAAE686EC287E4CA2543F1D20778132BFE3D577DD7A19688622FE62A30BFAFB0AED872F0A58B4EA7
09F9C508EF7566B80EB4A2A3FF0B6746DB529C56DA07ABF197A9AAB43B219244F055A12644C37E749E783FA6CD7BA046
66B106F0F22178C7677F52041B6A84CFB46EE4CABE03EA68ECF0EB73C1558D0C7FA22A33FA7F1DD378CBDD2D69EE8434
718DA604ACC1E3BC6B07D5FE7779BEBB7ADAA6A2D91A15FF2AAC2AEEDA1AEDE8264C3BF06D6D8B87F39E8AB2E68ADB42
8553DAAA55E04779F87F3F510AB1BF1DE2DF2F0332FB7E021E08F404F07DC457D40EA2426CBA8E7B5DA26F69C7452417
4CD84B664F322571DE995CDF0399FDDF9226B3668F2CA007EEE3C8E43B3A1EFFE1A391DDE84CA6E33C311046CFAE8722
BCA961117A23A6D48F3B07AEA5366F9E2D7E9468215613D7340696025353A9DDB826718B3382BFB67690C1B546176BA3
4BDB93E28D08425982FA40AE15CC44329FE27C0632E3ED1F9AF141337F3BF5E05A8DB056F674D3DEC6E146BB026AEA07
F3429A06C4F1539027C5C8A8829A75F47BEAA664B43108CB0ECB20409D567DED7B578191A7FE9613890DCBB9DEEFFD4F
8BAE6B014247DD710F027D5DAD2259C7804129B11467344C2357959225C18C721D3C6B5F1E2828DEC1CE52F83526EC26
2FD0E3D1C46474119C5E65C477C68644FC5F9B8AA8684340F2D31B7C42E7E403D60A41CBF7183DEC2DD44A797B782F22
9E419C76BD94EB85D4AE62FA2C39C8BBD9E2134B923BE1407CB3C536278164E8091118B7CEE91098D3150128749FCB5C
2B62A4637420D0B978D1B3F41977D5956D02B317B25FC00644B5E2185BE866D07C5CF3017F95C526C08252FD0E27C1D9
CD1682034A9F465A56CCA259BEBA3467D7021A57687CA31416609002A0B958903783E93720E52F65C2B5DF7EEA7CABFE
783E94CCA72081ADFBEE7915F335AE87A4CE232AF57AB8DBEA7FF03D522FEE08CAA1C8596C68266CB6A552B177720FF1
C6EFA3ACF756F941643E2612E8A71E0AA2242A1AA793238CA12513A50245E8DF2BF23A9E8273F0812773349FA2E8FC2E
834CAA4EF5C2F1016DDF1046D748B2A6B67557C3696ADDB7CBC6F0E0A7FFA53E72CBF04BF52062AC5492DF22B5CADD7A
58AC9A67152D18F6D0FA9E17C8FC549EEFB601EBFEE4D14179452E9E1756B78317C20DDC55232B2F42A2D088A05E9BAF
4FDB62B224F71DA59CB5DC9D7FD8A435CAA7BC78BF96B763BE87534B801C455C5EEDCC126DC7AB1A1B8BE9A15754BF1A
B39190CA29C702640C5DBD56430CDAE36B7D8ED505559DAB6EEF78F4342E691E7B4BD8B5DE7E8B17A7D6C0949D977F07
08DAF620C2254F622490CB3BD015265DF5F18D9533C39F44C3D36015E3E772C6854639CDAB274E09B3B0608D1FB699DA
0E6485D30D7FF1FEDB4949845D25B98BC81EC0FD6B3B676C13E9619BCDEA157581D12FE654E70CEE49ABD436D646D9F0
37E4261108952F0DAFC8C168CFF5736328EE27D865FCAE7D9BB972F4A1462C726EBA6AED78F62DF152ED97E8AD6AFB6E
01C073999C7DA709405E0CEF91009015EACAB33D960D50BB76E27308EA1A2D776C42ABE2BB0592A7379779C86D78D940
3F4BE658528CC68B710FB26FBFF3188DD57C75C5CE9C096849DC0C497AE85B214F1DD76D490204568A86E9B390D26CDB
A2DAE88D012992C0E18190B21BEECCB3DF758B0E318153386B815700B7BD1954198D97EA2B7E788E230A0F2BB9F9D81A
327CAB932389127FB4DB6D85387904640269B051189199DC04679BB37A40C36043B1F3C84E8671CE033BFAE30B9736D5
38F0B94314A18587897F6524ACF6723D09444EE8BAF3781D1D4B8AC5BE5511BC2504EE889C25BB00AC9BC21C184A2030
36504F0E11147478B4D28CA56748121245B2FFF92E0FB189E4079A8E8DE37A21F082DED2AD50069B0024E01066523760
1F08846C6185F66E49A46B3DCB05DE71A9F86A7B51421EA2F0961C9D913F5A909BB9121527A3CE23BA565A84175B85A7
CA17E1A8623B0EBF9488FBC26D3B623142D6E9DF72ABE0079A980426BDACEB2398F0DFA8137DAAFEDE1EE211EEBDDD4C
F8342D315C58262F9B67B20A5E1A575DE570CAD53913C22248205A93F50F0E5EBCE901E9C720AC7D32247C0D939A69DC
D8901CDE66209428D7655D7F321B935B309FB61D51B2C633ED3AB283FDFC4959DC30743F2F6F6FD97796B1CF675FDA15
7D3BF37C617CCD694C02C538BC7B415C24EEA6027DA51F6772C9079108390BB78E0A9155ED1940F076BE8BAC47DDFC21
6D0B0ACC4C3B530F28F5F192658BD3612585F5AB2976D79EA5C12459FA6C8EE3240476CEA452D24AC9B8869CFBAD1634
3640A598A071A2CF60FD180E98DE3C67763A7A0C15B5266AF8531CCAE51D265649E14FF52B2DC42A08F6394704111A80
7CD3430021002F2B259D4117BA2ADFF3D2151EF613B9CC31091EAAA64D645DC5B4BC931C157F79A94A77CB5D3C942AC7
47C4D880C06E33B7FE857D02D06B8BE7D58BA3CEB7901E3761DC49EFBA43B6E2C0EE09B16A79FE5BFF8F111934809335
88F304F749CFED31541A6399425FC21978CBEBDF39AEABDD4B88A6E208B1B32DC8FD4C2693F2DCCC04FBDF27698D34A2
94A49B1C1E8FBB92D80FED12ED489687F3823CD695AB861BD4A72293E76C42F36C7034A0A8667B59879685DDC1821092
A246FA1CD138CF7CB18DEBA6122F8B8022A1E964F4C186BC2690AC9E7909956A18BB5CA4878977A2A7483ED4C2FCDBB0
19242303DB7A3BCC879DBB8F94A1703481B4A999ECD312C481C100319328F529187F7E5B9001EAEFC923D80B37C3AC41
E6A8F6E221695FBABA1EF59D97F8AA0E940BEE2E4DC1197C337E7C1500ED087F690EF355956D69606178106947E661FF
647AD8D09315866463583D5BD2390DC375AB4A0DD0FB658F4E271F1D3C37E1CA3BD2D059263D128463CE93E9CC0D26A6
0CFAB53C098AE47B0663F65BB5408B9EA8911CFF6784897D1C7B6B2B2FA96530581462AEA98F01BD8E48C8E923F94C16
FF1247505BD23A5667DEC05AB78F83B3E7D0097F372F5D663620CAA01E2DD8D44F74D7C1D7F9ED8190788CADB928A3E9
D575227216AACAC6AEB2836A8E108817CB7EEC70F5F2AEC42D4BA1F4B882FE2AB1137A630409366912B9C12761BF34C2
4602A8DB9386D53CB781503F9782763A95523D973BEA0B983D307FDCC5802047459833C22706C198FD6CEFD8B1315E44
041691D1A5697BFA33A58B458242194C3E2743F442F222F80B7AB03A2E5E71C44EE44594DC0DFBDAAA10E5444585B529
BE06F68B21E7A12EE4B73576A365703F618575FD32B7B6BE47E3521048375A0FF14E6E5EFB3AAC8B3881442308517D36
D55A6CA30CACC0E3464D2D5EFD67A0EEEA87737375647FCAB4B5338F7E8FA83BD4CF5792F91639B61602B04673D2DD09
5A3B37A7C9D5D75D5BD91822DF859099F2ECB5FD131C0070CD2D8EE8D70C0C4FB52300BFAC9620CA7010871762E533D1
19A0BBBAAC07C92A4F42E1DDCEDC459D2C9EF8970E1787BD4A4D9B399A0816ACC8C8D60E8931007DFF7CC3FFA7B884E1
B747D6F5883D621E4682AC770972E52B664EFC0F15810FB31890E3CB2850BBCFB6B7773F5B9B33909A2616ED784E93DB
14E6CB753BAB8655552CBDD8037516F1E2174D3F1AEC2D18B2B72F141E056247EB9185F7502C09BC2FEA5037F88E1A97
7538CB544387FFB1A3121D6A53F4E739B5349D02FBE1A89C3F24B24EA74D298973BE3C27155AECD3B7FC909B3F5048A6
E0C8B664C8078A26F78F42A366470489BB444B5DB5182C784F2405A65EA90E9EEAEB46D104C61E295566F307F740008F
99020D5F1BD97523DDC0EF56E8A73680CAB742ED78CE4DC3600F8D9314A44B202424263195897A50AF243C36D8EE7707
DE7D514FDEDC5C4AC6D92A34CE92D3CD24F07D1419320D77780C96FCF49744E7510EEA0D737595D6A0FC71F0647599ED
AF7B7A791BDC9EF76A124F486DE476ABD286DF1AA20EDD8A43D2E85E41115B65417A60A0B795AA12897EB72C58CDD22E
CA85904C5D749A5E6F7D16B03B1641864D4C0C655D8AA5F2C73AA8BA1D30E377D6379F8B328EBF321262F9621860101E
86793465125F7090569908BE1618A9FA8829CA86561F24226FF0639055ABE4DD3723CF3D79EB8ABBCF78F72FA8601D83
D78265E819F4596E27166BC4C16B0D583A1FB6E03F02CF001A7AD3EE414324FC412734A374AE7FC9C71843056DE150F9
77E5F7D5359EE7DD613521280350AA03E6B32BC7E8B517171F832E1AF43F00AAEE2071B0D212E375745348C682D9DD3B
4E95FA33CBB5E8914EA6F746D8CBB977C96248D21998680F88012E135194F1522AC571ACE10359CD1A37128BEBD5A0EF
57C0762A5094B7CA720E1DA3D4FCD31A997D51DABAE899F3416515639D54A63AD412BA142787170ECE739D329C1F549B
2D92CC11690AD32812667E722A02B542857D02112C4FD5B62DD96BAF828F0CEFB1B3440FF35D196884EFB22DE1151987
D8C847C4A903F027832BD10590212E2388FC57F59B7245DF2B7F6FD2B12CCCC0857CE462771EDF42CE246FA1C152EDAA
D1839B3423B8CEC516A76E0A41393776631053C18FCC1D94D8AF96E89387C780C1DBFF6A37E36D2E154340B2B3564C3A
0E6C070C1940BFEEF042F6BEAC5CABC9DAF7CA866360F0FD5C71819D52A64D1DC5624B35A09CEE89D27B65EAE983A756
1BC784493A01ADAABAA943108821951908A4E40E07A4A7FCF3E47E6E7B667B214A4431881BFC3D720997B1CCD6F5EEF0
E9FF4050E3100916C6B5FB7A661B0A2259CE7315D9B863B36A88F46F36EFA3444B164B3383D4952889A352F2B7BF197B
6C76260D9F401E83389E62380ECD199F2302D0B2CBF99AC1EEAB475C9AD29D2B3AA379771A5CB448454B3A09A349CA1E
93DFBD1BD915C08498FB54987C6573C2CFC6F453E86B84C35E42E2EFA235E0584621CD39DCCBB002537E2A55D6F2F99D
DBD924CC5D434D45477190B9C3787ED0B93BB904EA73089F19847887506801F6E4FB79EF3CA0C88F95CF6BBF2AC8D96B
66427689E8AD5DEB15747E1B6FF1B1BBC937B0CE9E58E3697F4210BB894424847028C2210A64221F07ED47C6C7B3CCA9
38094C2343987CE9B52400F6EA83762FD13A8EDC5FB2280956D69679FE3B78507CD5ABDEC034A2F3F51C3287FC7F5C86
42DA600578D8F737486CF10EE13BE0F6E97F831E6A13E71D9FFB74FDDB6B7B3CA45D1951E06D94283F218C7814DA1902
CF627616E779FB13E292E9197F07ADC7DB8947312CBDD37D6CD9033D2B653BFB123807123BFE1EE751E23445F398079C
BBF945EF88E277D14080A434D477860D835B14DE87BA77E759FDC657252C3AE88F49BD8789638DF4249BE3D09A9894E9
C61FEA61F5F1520F8E1FF36AA6C3F273E693D80A57C86FD14337F4B7C8BD4353324F5782977F8FE39749709AEAF603D1
EAC1A6D424044BD9F1F301913666983514CB8ABFFF17EC51B9108482C1ED93B6C649004E90F03946D1E81D28AC3E6BE7
7A5F29F64E12B1B194A41AD0D4C156B3807C671FB05D2951C74130728700635599564D095C27FA8F96AD343ABB9755F1
A7FD56FB03EF60ABBFC8114E608569E30092CC406D99A5A45CB1A4ACE5D3F5D279979E0B003FF51CC1C60DD231BB0AD0
39899896045C0D6D458682EC4850A2CDBC372289D65B1C833A1B2AA70B38A9E0CEB612F26852F302B5A0CF5AA8F9D5C1
D8636CD947C2D6B2BA5F829A831A071948EE4FC4E5449A7FCA2038F35DF62264312D7257BADD9F973374A64C178BB1C8
18A2377C04EF4638D04300DFD77440F5EB2AC013815777192FCABDE25A3B1E07149549AC1B2ADECD3D907CA2DC74B147
7B93807D36B84D74B27F05BA5500D7AC4FB9961FC204C797B3E960F581BFA79544B1A2F7D692E16646E6F20069A84BE7
2B3A48731E2435367E24534F36C7796AA03854FC13CC90D74A9FC881C3D8E85B76FBB10040F0DADEE2394BBBFE6CC689
E9AE04EC52C52383F10FA0AE69AD99FFF5A8BA769AF472C7B8587328759DB9558D6C08B6421C1392068A4613B995749E
61E79F5E51F746E85C4B9D5E474D6F88F1AD71BF057B0B612EE7E26017804965CBA52C7D67BEA54EAF2A778838CF9720
468F8D6BF3D14ED947D24BCA331AC37D7EAF01F633B0E485CC6A5FFB59CF467B9D9252D2B514CBBC93146F7073E4DBC7
DD38284B4EDC597F92EFB30AC88EA8344A82742551DB44BC63C5E50C1D52A1271507C4397CF9DBC1BE89E43450F64FEB
461D6A513CBF30ABDD074DBC6A323084D5AA8C79B85B0D03832E5E2DCF3A40B27B24BA86AF9F062192F1D947F4C8E85E
C0AD6FBE67F8A7F8D4DB6AE3384F2DBB98730640A031D5E76B5AD002F8BC0268FB5E62AC5AC1E8CEB1F955FEE4D1C024
0821D03103916343875E859F71AEECB6CE4F30D83CFDA7283733078A870C1D02B51201FC01712A0ED8FC653946DFA5C9
4EA2DB8E336A843331D97F7A50056E4FE96882D810D56BE7A9449520F4CDE48520451FA372AFD8DAA893C90C627C580F
D9C37CF91948640F9A5A6E92FD289D8E38ECC7964BD18E94CA693E84A71A7B3ACACA1D4ADE93707FBD0022533E1ED195
F0F61816650594B2E0B1FB5073E557575499C6BF2FE253A2D28CC193C3246528415BB371075148ABA052801E4FB1ABD2
3CFCFCA8C29D3D370E8F2D5B7AE1B89C0F8933E0A36B3B3D9D73A500E391EDB0BF1A2FFBADD7AB69AC710A0AEFFAA33F
B0476357FC5F80123FDEF799F450435F90C4B502CED8EC99C678AEE2542501A844B72165003B1C047CE0896A30A7B127
EF87859299D2515D738318E364A620D4426CA9D0E1657BBB5EB567CA6C45EEA757A5E66E2F98DC8F65E9F0ACFF94AF52
D0FD3F35390485E45E933CE717A474E98253259E3C572322C1D606BD4BBB4E223D434E9E34E1470678FD91A9AE938980
8336BF69982F130A262A0CCB8E9E55F2CCFCAE7BB874EFA47466E929AF1E3F601542287DA47F0FC9BC9CA05B7633D7C0
58F9B4F63E7BCCDE51065FB9C7C95C3F8336353AE92D1253BA29950AC33566EE8F83360B667011A24EE043C236383027
CA2BB89B520E3517F19F388E0BD3B229664E157E5EB873C359735883FBDD669041948C9733BA6B14EF8CD58B7A52A62B
E4425CE64BB95074CF2F33CFEF8D3BA406F82F7566C6533B1D1653B849EEE685D40E1F1AFF792F7FEA2E8903C0C4574B
CC3B9F52E6C1E2F86685050D56E5CA79153AD97A305DDD01D2BF9B8EB6EFD097FF2DAA674F402B0051C282B4B49C2E83
924300EE0E44EC0A14AAB0F2E1B83D5860DF10033476D24A1F8AAA2FC569576013FE40DBAFCC3D911414719F307E4E99
1CA41CD5D2D1D020F79C85F8402B6A19915B8EB5B2F000DC771018BD4D5D57D6F1E2E1CA7439E0280527EE0178CD90B1
F0B75D31AD5F19B4FE28840FD8C859B800BA0DF4022DBA5C58554285BA6CA2C4CD0E28634481FE996AA906DEA0E27995
5F9C8D9E6C525ADF9954423B1EA5537DA6165436D24D3B4B2F2ABEE70D428C23079C58FC5F460DE6E991AE11DDBA2881
13C2C6B1827535013F02C5A9A401D70697A27CA4B81D245513C2DE4090C46E934A56236014650A120D669F0A2908047D
D8F9E07E25F9D2C9CCCE8498548F95A485BC0A3D18EC2A75EC50881C6763CFB6F9ED3292C7AECAC59A3A5F7373A1F2EB
68CA7B5170B0B45A710450983F7E1784643903D365032799FAE119B3FBCC80064F33BB40893F936313933697CE02FC42
089322E1C04BCA13BD9AEC57CA1636BB9A15D42151E1856B2E5634D071A579731ADB80F393AB774158DF1924
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%!FontType1-1.0: AAAAAL+WenYue-GuDianMingChaoTi-NC-W5 001.003
%%CreationDate: 4/20/18
% Copyright 2018 Apple Inc. and its licensors, all rights reserved.
11 dict begin
/FontInfo 9 dict dup begin
/version (001.003) readonly def
/FullName (WenYue-GuDianMingChaoTi-NC-W5) readonly def
/FamilyName (WenYue-GuDianMingChaoTi-NC-W5) readonly def
/Weight (SnapShot) readonly def
/isFixedPitch false def
/UnderlinePosition 20 def
/UnderlineThickness 40 def
end readonly def
/FontName /AAAAAL+WenYue-GuDianMingChaoTi-NC-W5 def
/PaintType 0 def
/FontType 1 def
/FontMatrix [0.0010 0 0 0.0010 0 0] readonly def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for
dup 0 /cid1010 put
dup 1 /cid1263 put
dup 2 /cid1283 put
dup 3 /cid1761 put
dup 4 /cid1999 put
dup 5 /cid3669 put
readonly def
/FontBBox {-195 -283 1196 944} readonly def
currentdict end
currentfile eexec
D9D66F633B846A989B9974B0179FC6CC4458BB4CB99E3608702C78822367AAF89059868F63F93207640A6BD5DA214789
139C491E02A37BF3866F2964E8D690D48D9F6C4A5EC22355F8123573812483E06B968AE84B5F20A982A0E65764753516
97AB8C6EA040355C5542F297D7A3AF28AB93EA0771E0D56DBF00F7CA9CE9FB9FC2E0ECB00D04D5F5F3F24B987B546D62
74971A477DEE12C44623C180BCDBA21172627610C4736632D1A4693E79719C3BC43DF5330790A52DCD4CF455ACC213F6
B1C4BA249179DB360225568161552A16682E3A3604BFC39D571B1F8F18375BECF1C5066694AE864EFC9A863DDE6D4B9C
BD0D2B278C134BD8A60B58EA633EF6B5FC94A90A2396C406684764E79A3225DF9754A63B72D16FB185A5BCF2D58F4608
684F782CE77F672453E416E53EEF765BB1FC0A7604BF819DD28AD73F6D857A26B50F7E388414B50F2E8DBF6CE483654A
0716F946586F8BA2BE71149BB2C010F2FA300E1D1DE9AC30F09FB927CE9E9F34F5FF60F8719241B28139D8AEDC3A6CEA
601DB9E54C92120E60C36878A3390FEF9F8EE6949EAEAC849422FE2609869446A9ABDF57284A1536F6F3C4ABA92E851A
18C705EAD525D9E63B31BC06B9BE6FB274F3649CAAD0B3522BE05CD31BC80228E9ED50882027BB21B0C3C1C44A10309F
BF244E71B0BBB7A2878FB008B977275B31A19269F5C94F697058E92A23B61A35E034C32559619377B0CF12525FC025B2
97984527181644C39AB832F23D3450218DE3295B31FB3BD7BD380F14876034AFAE253BA21C5C903C3E439234298DCE66
EA759AB3C8F4B7C25115F0BFA4C6C9E3CE4E00AFD6C0BD228FE88CD3FDE39A00EDB5382B0DE77E2925F078C87179E00A
FFBD081E4868D569543E31CD8AF244DCF739C603816874081CA62EE971A49295C049870422A6D6AD7724BE447AF9E3DB
4422208092DDE7A289BD9E3BB95A7DD10AEC1EE3E8589FA4C03A4A9F49C23D9B6CE52F8C9FD7DA4A56A4402F809B1547
CD82AA867410F1859ED6E7ECD5AF7BA950910FFB44361DF222E215995FB8CE3D1D2DE312B5DB41946E70111600AD5902
3DC9FF2C7929F419D19D711B96912C06ED0F0E6D18E8941D571C3BCFB148506139BFBF511D5F6A1E28001A79097D0CF3
6A5A05143BF1D3378F037F643371403044897AA17331E5C4A942D441CA2B7F39ABB4A358BDA0FE8E71B6347421A18172
CF88CF4863AB716EF61C9F312ED7A36A72B435CC6C988B27E97FCDC3B603F737267C8786505DE9629E2F0BD4883BF5A0
02AB4C925B0276E2AD198103F892E69F29D6B6984482BF81F5670846D213EAE8008FB7CCC5704F8D705F284E23EC13BC
D3BF5121682FEB6A69BD84D8A5B43B106235EA5B726126FA66A25EA9754CAD9B4F9B10A3078E4A43DD7462442D2B952B
A4E145ECB9BE0FE876F35F5D119BBE82C2F96230561E204DE6E355A05819535BC0ED803254A96E833B2A5284D106BC9C
7AE28F578DF163C896A9D081F34858B43AFC38764FB52F5FF496BA3DE42B2557CDAAEDCAF9646D466D6F6C958DC16139
748658E36836D2DBEF1C2B301DB7AAFC0BCCDA149157E076E50BB4F33AB7465C7AB1ADE8102DDDD9EEC1FA8C600C33FC
A26A14800C1EE28DF2E42F5A41696E448F03C8066134571AAE7FA5FB843E98C3E87248B3D07D84469EE0CEF1B43D94D7
A4A129214B6E9D1C00AE2D86AE3031700BE408A4F43CD63F8C32FAE965B6B48102EF0482449DCEFF87EA33B87BF7ABAE
27CBA7F61D0C492C49580D8CF61E36ED3601F5783A7E89A488DEB178F2B9EA0A392D134B71311FDCF2914F917B8D579E
95D25E274B62B4837BFCDF2E0C0EB3DB966D60BFBF9978DD6B92F8C6C04AFFEC00FF16544ECC2B19DF9E4116A4C12392
E7F4853AB7100D7AF646A15E7BBDED7D2AFD5104841E4152EC870A3417ACC2AD94FE7BD701C6545F7B94CDE2A9192D0B
AFC0A4F605BD068B07608B5CB69B80B4721BC6D24179BA5AC7873C1E67DC46C12815E06C03C36A597887F840B3968D4F
A8A5BC71C97A20F23027B53B4578A8349C3471C00B50D6DF6A5A5EA28AA6053F843B0E04B80C3ECE1B972F8AADFC3808
734C634E800D374B1627D63C40BD9FB2143F0F55F15F1379FB890ACBDD0B09FB5AC5494650EA151DCC7DD66A0EC5AB8B
E200500FF3325077CAAE686EC287E4CA2543F1D20778132BFE3D577DD7A19688622FE62A30BFAFB0AED872F0A58B4EA7
09F9C508EF7566B80EB4A2A3FF0B6746DB529C56DA07ABF197A9AAB43B219244F055A12644C37E749E783FA6CD7BA046
66B106F0F22178C7677F52041B6A84CFB46EE4CABE03EA68ECF0EB73C1558D0C7FA22A33FA7F1DD378CBDD2D69EE8434
718DA604ACC1E3BC6B07D5FE7779BEBB7ADAA6A2D91A15FF2AAC2AEEDA1AEDE8264C3BF06D6D8B87F39E8AB2E68ADB42
8553DAAA55E04779F87F3F510AB1BF1DE2DF2F0332FB7E021E08F404F07DC457D40EA2426CBA8E7B5DA26F69C7452417
4CD84B664F322571DE995CDF0399FDDF9226B3668F2CA007EEE3C8E43B3A1EFFE1A391DDE84CA6E33C311046CFAE8722
BCA961117A23A6D48F3B07AEA5366F9E2D7E9468215613D7340696025353A9DDB826718B3382BFB67690C1B546176BA3
4BDB93E28D08425982FA40AE15CC44329FE27C0632E3ED1F9AF141337F3BF5E05A8DB056F674D3DEC6E146BB026AEA07
F3429A06C4F1539027C5C8A8829A75F47BEAA664B43108CB0ECB20409D567DED7B578191A7FE9613890DCBB9DEEFFD4F
8BAE6B014247DD710F027D5DAD2259C7804129B11467344C2357959225C18C721D3C6B5F1E2828DEC1CE52F83526EC26
2FD0E3D1C46474119C5E65C477C68644FC5F9B8AA8684340F2D31B7C42E7E403D60A41CBF7183DEC2DD44A797B782F22
9E419C76BD94EB85D4AE62FA2C39C8BBD9E2134B923BE1407CB3C536278164E8091118B7CEE91098D3150128749FCB5C
2B62A4637420D0B978D1B3F41977D5956D02B317B25FC00644B5E2185BE866D07C5CF3017F95C526C08252FD0E27C1D9
CD1682034A9F465A56CCA259BEBA3467D7021A57687CA31416609002A0B958903783E93720E52F65C2B5DF7EEA7CABFE
783E94CCA72081ADFBEE7915F335AE87A4CE232AF57AB8DBEA7FF03D522FEE08CAA1C8596C68266CB6A552B177720FF1
C6EFA3ACF756F941643E2612E8A71E0AA2242A1AA793238CA12513A50245E8DF2BF23A9E8273F0812773349FA2E8FC2E
834CAA4EF5C2F1016DDF1046D748B2A6B67557C3696ADDB7CBC6F0E0A7FFA53E72CBF04BF52062AC5492DF22B5CADD7A
58AC9A67152D18F6D0FA9E17C8FC549EEFB601EBFEE4D14179452E9E1756B78317C20DDC55232B2F42A2D088A05E9BAF
4FDB62B224F71DA59CB5DC9D7FD8A435CAA7BC78BF96B763BE87534B801C455C5EEDCC126DC7AB1A1B8BE9A15754BF1A
B39190CA29C702640C5DBD56430CDAE36B7D8ED505559DAB6EEF78F4342E691E7B4BD8B5DE7E8B17A7D6C0949D977F07
08DAF620C2254F622490CB3BD015265DF5F18D9533C39F44C3D36015E3E772C6854639CDAB274E09B3B0608D1FB699DA
0E6485D30D7FF1FEDB4949845D25B98BC81EC0FD6B3B676C13E9619BCDEA157581D12FE654E70CEE49ABD436D646D9F0
37E4261108952F0DAFC8C168CFF5736328EE27D865FCAE7D9BB972F4A1462C726EBA6AED78F62DF152ED97E8AD6AFB6E
01C073999C7DA709405E0CEF91009015EACAB33D960D50BB76E27308EA1A2D776C42ABE2BB0592A7379779C86D78D940
3F4BE658528CC68B710FB26FBFF3188DD57C75C5CE9C096849DC0C497AE85B214F1DD76D490204568A86E9B390D26CDB
A2DAE88D012992C0E18190B21BEECCB3DF758B0E318153386B815700B7BD1954198D97EA2B7E788E230A0F2BB9F9D81A
327CAB932389127FB4DB6D85387904640269B051189199DC04679BB37A40C36043B1F3C84E8671CE033BFAE30B9736D5
38F0B94314A18587897F6524ACF6723D09444EE8BAF3781D1D4B8AC5BE5511BC2504EE889C25BB00AC9BC21C184A2030
36504F0E11147478B4D28CA56748121245B2FFF92E0FB189E4079A8E8DE37A21F082DED2AD50069B0024E01066523760
1F08846C6185F66E49A46B3DCB05DE71A9F86A7B51421EA2F0961C9D913F5A909BB9121527A3CE23BA565A84175B85A7
CA17E1A8623B0EBF9488FBC26D3B623142D6E9DF72ABE0079A980426BDACEB2398F0DFA8137DAAFEDE1EE211EEBDDD4C
F8342D315C58262F9B67B20A5E1A575DE570CAD53913C22248205A93F50F0E5EBCE901E9C720AC7D32247C0D939A69DC
D8901CDE66209428D7655D7F321B935B309FB61D51B2C633ED3AB283FDFC4959DC30743F2F6F6FD97796B1CF675FDA15
7D3BF37C617CCD694C02C538BC7B415C24EEA6027DA51F6772C9079108390BB78E0A9155ED1940F076BE8BAC47DDFC21
6D0B0ACC4C3B530F28F5F192658BD3612585F5AB2976D79EA5C12459FA6C8EE3240476CEA452D24AC9B8869CFBAD1634
3640A598A071A2CF60FD180E98DE3C67763A7A0C15B5266AF8531CCAE51D265649E14FF52B2DC42A08F6394704111A80
7CD3430021002F2B259D4117BA2ADFF3D2151EF613B9CC31091EAAA64D645DC5B4BC931C157F79A94A77CB5D3C942AC7
47C4D880C06E33B7FE857D02D06B8BE7D58BA3CEB7901E3761DC49EFBA43B6E2C0EE09B16A79FE5BFF8F111934809335
88F304F749CFED31541A6399425FC21978CBEBDF39AEABDD4B88A6E208B1B32DC8FD4C2693F2DCCC04FBDF27698D34A2
94A49B1C1E8FBB92D80FED12ED489687F3823CD695AB861BD4A72293E76C42F36C7034A0A8667B59879685DDC1821092
A246FA1CD138CF7CB18DEBA6122F8B8022A1E964F4C186BC2690AC9E7909956A18BB5CA4878977A2A7483ED4C2FCDBB0
19242303DB7A3BCC879DBB8F94A1703481B4A999ECD312C481C100319328F529187F7E5B9001EAEFC923D80B37C3AC41
E6A8F6E221695FBABA1EF59D97F8AA0E940BEE2E4DC1197C337E7C1500ED087F690EF355956D69606178106947E661FF
647AD8D09315866463583D5BD2390DC375AB4A0DD0FB658F4E271F1D3C37E1CA3BD2D059263D128463CE93E9CC0D26A6
0CFAB53C098AE47B0663F65BB5408B9EA8911CFF6784897D1C7B6B2B2FA96530581462AEA98F01BD8E48C8E923F94C16
FF1247505BD23A5667DEC05AB78F83B3E7D0097F372F5D663620CAA01E2DD8D44F74D7C1D7F9ED8190788CADB928A3E9
D575227216AACAC6AEB2836A8E108817CB7EEC70F5F2AEC42D4BA1F4B882FE2AB1137A630409366912B9C12761BF34C2
4602A8DB9386D53CB781503F9782763A95523D973BEA0B983D307FDCC5802047459833C22706C198FD6CEFD8B1315E44
041691D1A5697BFA33A58B458242194C3E2743F442F222F80B7AB03A2E5E71C44EE44594DC0DFBDAAA10E5444585B529
BE06F68B21E7A12EE4B73576A365703F618575FD32B7B6BE47E3521048375A0FF14E6E5EFB3AAC8B3881442308517D36
D55A6CA30CACC0E3464D2D5EFD67A0EEEA87737375647FCAB4B5338F7E8FA83BD4CF5792F91639B61602B04673D2DD09
5A3B37A7C9D5D75D5BD91822DF859099F2ECB5FD131C0070CD2D8EE8D70C0C4FB52300BFAC9620CA7010871762E533D1
19A0BBBAAC07C92A4F42E1DDCEDC459D2C9EF8970E1787BD4A4D9B399A0816ACC8C8D60E8931007DFF7CC3FFA7B884E1
B747D6F5883D621E4682AC770972E52B664EFC0F15810FB31890E3CB2850BBCFB6B7773F5B9B33909A2616ED784E93DB
14E6CB753BAB8655552CBDD8037516F1E2174D3F1AEC2D18B2B72F141E056247EB9185F7502C09BC2FEA5037F88E1A97
7538CB544387FFB1A3121D6A53F4E739B5349D02FBE1A89C3F24B24EA74D298973BE3C27155AECD3B7FC909B3F5048A6
E0C8B664C8078A26F78F42A366470489BB444B5DB5182C784F2405A65EA90E9EEAEB46D104C61E295566F307F740008F
99020D5F1BD97523DDC0EF56E8A73680CAB742ED78CE4DC3600F8D9314A44B202424263195897A50AF243C36D8EE7707
DE7D514FDEDC5C4AC6D92A34CE92D3CD24F07D1419320D77780C96FCF49744E7510EEA0D737595D6A0FC71F0647599ED
AF7B7A791BDC9EF76A124F486DE476ABD286DF1AA20EDD8A43D2E85E41115B65417A60A0B795AA12897EB72C58CDD22E
CA85904C5D749A5E6F7D16B03B1641864D4C0C655D8AA5F2C73AA8BA1D30E377D6379F8B328EBF321262F9621860101E
86793465125F7090569908BE1618A9FA8829CA86561F24226FF0639055ABE4DD3723CF3D79EB8ABBCF78F72FA8601D83
D78265E819F4596E27166BC4C16B0D583A1FB6E03F02CF001A7AD3EE414324FC412734A374AE7FC9C71843056DE150F9
77E5F7D5359EE7DD613521280350AA03E6B32BC7E8B517171F832E1AF43F00AAEE2071B0D212E375745348C682D9DD3B
4E95FA33CBB5E8914EA6F746D8CBB977C96248D21998680F88012E135194F1522AC571ACE10359CD1A37128BEBD5A0EF
57C0762A5094B7CA720E1DA3D4FCD31A997D51DABAE899F3416515639D54A63AD412BA142787170ECE739D329C1F549B
2D92CC11690AD32812667E722A02B542857D02112C4FD5B62DD96BAF828F0CEFB1B3440FF35D196884EFB22DE1151987
D8C847C4A903F027832BD10590212E2388FC57F59B7245DF2B7F6FD2B12CCCC0857CE462771EDF42CE246FA1C152EDAA
D1839B3423B8CEC516A76E0A41393776631053C18FCC1D94D8AF96E89387C780C1DBFF6A37E36D2E154340B2B3564C3A
0E6C070C1940BFEEF042F6BEAC5CABC9DAF7CA866360F0FD5C71819D52A64D1DC5624B35A09CEE89D27B65EAE983A756
1BC784493A01ADAABAA943108821951908A4E40E07A4A7FCF3E47E6E7B667B214A4431881BFC3D720997B1CCD6F5EEF0
E9FF4050E3100916C6B5FB7A661B0A2259CE7315D9B863B36A88F46F36EFA3444B164B3383D4952889A352F2B7BF197B
6C76260D9F401E83389E62380ECD199F2302D0B2CBF99AC1EEAB475C9AD29D2B3AA379771A5CB448454B3A09A349CA1E
93DFBD1BD915C08498FB54987C6573C2CFC6F453E86B84C35E42E2EFA235E0584621CD39DCCBB002537E2A55D6F2F99D
DBD924CC5D434D45477190B9C3787ED0B93BB904EA73089F19847887506801F6E4FB79EF3CA0C88F95CF6BBF2AC8D96B
66427689E8AD5DEB15747E1B6FF1B1BBC937B0CE9E58E3697F4210BB894424847028C2210A64221F07ED47C6C7B3CCA9
38094C2343987CE9B52400F6EA83762FD13A8EDC5FB2280956D69679FE3B78507CD5ABDEC034A2F3F51C3287FC7F5C86
42DA600578D8F737486CF10EE13BE0F6E97F831E6A13E71D9FFB74FDDB6B7B3CA45D1951E06D94283F218C7814DA1902
CF627616E779FB13E292E9197F07ADC7DB8947312CBDD37D6CD9033D2B653BFB123807123BFE1EE751E23445F398079C
BBF945EF88E277D14080A434D477860D835B14DE87BA77E759FDC657252C3AE88F49BD8789638DF4249BE3D09A9894E9
C61FEA61F5F1520F8E1FF36AA6C3F273E693D80A57C86FD14337F4B7C8BD4353324F5782977F8FE39749709AEAF603D1
EAC1A6D424044BD9F1F301913666983514CB8ABFFF17EC51B9108482C1ED93B6C649004E90F03946D1E81D28AC3E6BE7
7A5F29F64E12B1B194A41AD0D4C156B3807C671FB05D2951C74130728700635599564D095C27FA8F96AD343ABB9755F1
A7FD56FB03EF60ABBFC8114E608569E30092CC406D99A5A45CB1A4ACE5D3F5D279979E0B003FF51CC1C60DD231BB0AD0
39899896045C0D6D458682EC4850A2CDBC372289D65B1C833A1B2AA70B38A9E0CEB612F26852F302B5A0CF5AA8F9D5C1
D8636CD947C2D6B2BA5F829A831A071948EE4FC4E5449A7FCA2038F35DF62264312D7257BADD9F973374A64C178BB1C8
18A2377C04EF4638D04300DFD77440F5EB2AC013815777192FCABDE25A3B1E07149549AC1B2ADECD3D907CA2DC74B147
7B93807D36B84D74B27F05BA5500D7AC4FB9961FC204C797B3E960F581BFA79544B1A2F7D692E16646E6F20069A84BE7
2B3A48731E2435367E24534F36C7796AA03854FC13CC90D74A9FC881C3D8E85B76FBB10040F0DADEE2394BBBFE6CC689
E9AE04EC52C52383F10FA0AE69AD99FFF5A8BA769AF472C7B8587328759DB9558D6C08B6421C1392068A4613B995749E
61E79F5E51F746E85C4B9D5E474D6F88F1AD71BF057B0B612EE7E26017804965CBA52C7D67BEA54EAF2A778838CF9720
468F8D6BF3D14ED947D24BCA331AC37D7EAF01F633B0E485CC6A5FFB59CF467B9D9252D2B514CBBC93146F7073E4DBC7
DD38284B4EDC597F92EFB30AC88EA8344A82742551DB44BC63C5E50C1D52A1271507C4397CF9DBC1BE89E43450F64FEB
461D6A513CBF30ABDD074DBC6A323084D5AA8C79B85B0D03832E5E2DCF3A40B27B24BA86AF9F062192F1D947F4C8E85E
C0AD6FBE67F8A7F8D4DB6AE33D4E72F3911D3F3D28B666F7D0CAE7212C2AEBAAEC358B348CCAF1C39F22E5B455A8ADC2
65C1D1C2C1909E72B5C67058C7FBDEE1CFCDC907A321B23E5CC0E4DE38BA79B2B9F91F13A9FF982E2CE7CB242605F865
02A068895402B3C0536DA3E75C46ACD97BBB4761EADAAACFAA2F25D5C3CCC0D899399B2919D8854F0D4AE2B18E8172D9
F900024C8E0DFEC35BF7A9031925EF0127758048D3BF56BB086C43D0D292DE24189B2AECBC48B417666A28CC677EBBE9
25917B741D651FD84A41E0C04BED3A1D6F17BBB7395D743811E04F8FE148C1911097293D302A0429FC5E8377C78683B3
B917699C65366437364AF1F87225D4BF5BC684AF7ADC9E3750ACDA66CE8647D12CEBC64197B4AAA2156F1EB1CEA74E93
87E3E188F2F542CC740ABF1CE875A0DDCC96C96D91E5CDB25AD2F3A00C0D239133D2DD8444E77FD1C58F3DB32DF974F1
D25CF47E2FA25C4CE828CAD24B6E9705BFD177A6091FDD32CB438FC7CCCD98A08BBCC21304C36033DF86286302A06C52
DB89E21E17AE221AD95A59ED6CF07923D3A53887016677DB9FF0FA5F5197EF76E350647FE47BB473276ABB29414B564D
9D5A05188AD1E155A1E2B29D065659E918935732B0ADFC4FFEA4E4EFD85FDD29B0F5F1E84C5CBAE543C8976D4BEFD7D1
E1CAA6865F79724C76A2622689310C8EB726B7AD52F740C673E17AEE336C1F5D0858867DD2C5338F23819C7B7D730882
9676B1F0B876DACDEA5BDA6E75EFB1DA6B215204D51A572693C3DEF4F4372416ABCCFD3D35B9457AE1527D33ED37BC52
7B7326B8FBF9E229A6C9D140BC2085A213F01DB6D5034F5810B772FE3752C0F79A6EA8E35F262AB1AF395966D547F86A
D71E5354752574BB2F28EA5720EC987D1D77681848FBDD9AAE2CDD4C049BB7108E07F1A675B2DBB5D57A462E80701616
DA39A43D7E5AE6213F99F776A17F891BE2E4956C997DC3B427F8CACB2B959B97DBC69D16C3D4307822E6DCFFF488D514
38FEDB143BA01A7053F2352D13598C38823994B43C187BB31B3AF7804E90C5E90FA0B500CB6A1C221FAF0E651578E98B
C028D608549318CFE732B7EE8E78AF3EA21D9B8E65FE1BC4E27C1D691643DFABCD334C290B14D99EC0679CAE84BCCBDD
70A8847E6413AB95F4560566A4B94353B1E121F2A3E951E30AEFE919F153FA2D6A2114D52AE07BE1E2DC14E4D1201050
6DFA0AEADB47FFABBECDCABCAC8EC7888DFE16B0FD76103C14C356327FFC3597B41F65A32B6547698279BEBB06D563FF
73250712095A29A3ED5FCF0866F26EE6DA1A466B38FF8BBF73C063EF418AD1B5584D35A664C5798E6DE217FAF9B20A92
074BD471FF5E0A6F422980FBAA4B6BC78158A7A32A12F42D0ED04D94BBFE500DD7A69F4DF00DBA0F53805E2A450A3DC8
832EAA003B40D09D184C92184FE1A9936E2942DF1E799A6C516891A52EAB0B7D69F9F18DA10F281F53DF322461F5582F
025572360983B18FE6852FC2EE0573EDA3D81B016E2966D18168C40F9642514044CAEF51EB907A3F54C0B370693D14FE
DAB63044B691FFEE86434B5D43F2E5A49F9F36805111820D65CFFB8430588E50DC383E7C0B0308D31348F11D366A25A1
84B5B44ED536714BA0CB5CA970E1F4E05F7053C1A483DC8E80B8FBB0CE4806B1CF423CBFDA938D5CDCB108261847C818
56176C6A7E6B86A0D554DD9D7E72F61692B6FF575467668011DBF3560A88D18906C51E01B113BF99403975E8FCA2EAD0
EFC0DBCB9202BD265E8171E590D3EA626727150078F3EA7C4915404FC33C86DD8A9A9886CDA9A7908A2F0FE79B4C6356
726260C329CC81099EEC979D865173FB2B187FAECDAFAB93582F197DC80F246809182537D2DA9B83E4FD194796F6F66E
C520AAC64789388C5B550891773FAC20C83E79E948E5F4833F5A4015D490A70F55BE9A48B33B19C58822CF7B5A33C007
DB00FE6F7783D758EAE0FF4B0CCF1174CB062D2B99E6F25488594D7B086464651CA4E3F8B18AB3BE98C4C3445CBFF827
5BB111DF286749159A1AD38AE299639E5B0AC74141CCF9B8BC5B0938D612CDC1F6A5987E6720856DF0BD60C1988BDDD3
ABBD3B94968BEF22CFA03A56FD97438B4E07D5C1B109EB8560E412A604FD468A1B894CE6A0F310176BA479CC1695159E
F70FB50476665FDCFB967FD7D381B6094C355A1553D2491727080254E9ECED85727B8AE4E223CFD9D4DCB551917866A6
0B72D8C1F7BA271264F2669C5207782DC5B27239E5C25AFAFABBC782B469810EDDD9CE1936B7E53DCBA9E8E0A086380A
2F2AC0F5CFA1CBB9FD2ADD5DA45247F2CB8579690560A2F0D4C95185F2680CC820551A079DCDF9D636DB4CBFD0F7329F
473E52B31136BBA24653B717187E9AF13138D33A107A5E34CB68E4BD85873FFFBF0BAA55291A1A0FC010A14B5F5FFB36
C4072CF241CDBC5D2A272EF2AC9C84074DA54D5C74B57074C63625CD90F833D675F7F31C245BD410080A4B94699FEBEF
48E04A49F453D906AC19012F8ABD7CF46747DEB93669A82B95A353522D74F6A90ECBC74436123CCF42A09638E6431DBC
2A5AF79FB52103075645805B2606DEF427CE0A2B37AAEF2FE274FECBD87E9AAEDD2909B75C7E5B4603F54F67260783D9
9A840E39574D33DDDF4F847161757BC8C84E57A33721BB56218BE2895A696AAEF0EBE72DF9F4C9DA0D8E4CFB6EEC502B
702BDD5DF3C1D4C1EFCAAA68BE0D4E4C853FCA18FFDD7A6C538669892F1DED2231161799415B210EE9FF7DCB677F7E34
C6A8DD33113596D13A46C11149DD35E85EBFF2EF545AE98ED7DCFA881EEB1F5660260B382BD1E8A962369754641ADBE7
9AE9333C353B78440279EF8AE4449623B3B754860A03FDDF53DAC9E7A3873ECDC5EA18E58EA5E00978CC1A1C3AE755B6
48C238591F36942521C10A34E1FBC44E5B55AF2613674CA0FB0C75F6A11720FE41D01CB52C5E17566F7BDC59E03B7FF1
D3EFA9349B020822754C42BA46B4128D06FA1BCF2B9B884AEF3710A62DEC54A55497A3276F2D99DF867F8B6F15E5B828
62BEFD0AB61FF89412251390BADC90FFC8B6F2F46B52C1FBFC0A5488324F881BDD2353FE3AD4E7B65EB192D7B3E33F12
0320871AFF9D68EB78013CCA766F509B989DB6FF21B5E76AED8026FCA349374E92AC49AD7C267935C26D1189A2141C52
1999DBD0099E77AC962888815D9CAE52979B2425660CD2D4F107892003D30D001C7D1EB5C05ED25790C21363733AE8D7
4C1A5AFAEC7FF3A17F4778DF048E881DEE6FE77D8C179C1C60A05260B442EC9B56CF83BF5428580BC40B57ADDBBD0141
BF69C1DEC6BAA261237B1F8C71A04E67018763E10959A9E827BE46C6364768E5F98F3F9AC8696804A2832780DFF316EC
DE7C0B3DE13C8DF07BC4B6EAFD9653E64BE8D26E38D64EA83E22ED5EF9947B8D1C0436C508613AAED1683407A21568C2
E84522349766873A1EF9FE90C590B98F00972F0D903CCAE34976D48A68C4570D4E7687D25ED479CA7A477B072853959D
58A040167EE3FD7A8009A0305C27E3FBD1F8644DF1884C44344A9D84DFB07D8F1E6BB958C404323FEAC1DF40471F1BD1
D4B5D2B915094304BB80FC668DEFEE4D4173BE6D7F1A8BC3C64C07A898E95172104C3AD0C4E63BBB1D83562DDFB5A648
C6C97D8D748207B1A0B87A0349BBAA5505A415923700C0
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
%!FontType3-1.0: RMMAGE+WenYue-GuDianMingChaoTi-NC-W5
19 dict dup begin
/FontType 3 def
/FontMatrix matrix def
/FontBBox {0 0 0 0} readonly def
/PaintType 0 def
/StrokeWidth 0 def
/BuildGlyph{save 3 1 roll
1 index dup
begin
/ShowProc get 3 1 roll
1 index /CharProcs get exch get exec
7 -1 roll exec
end
restore
} bind def
/BuildChar{1 index /Encoding get exch get
1 index /BuildGlyph get exec} bind def
/$SP{3 -1 roll dup /SetupSubFont get exec
dup setfont
exch 0 0 2 index stringwidth
} bind def
/$SPW{4 -1 roll dup /SetupSubFont get exec
dup setfont
3 1 roll 0 0 0 4 2 roll} bind def
/$SPTW{5 -1 roll dup /SetupSubFont get exec
dup setfont
4 1 roll neg 0 3 -1 roll 0} bind def
/$RP{6 -1 roll dup /SetupSubFont get exec
dup setfont 5 1 roll
translate -90 rotate 0 0 0 4 2 roll} bind def
/SetupSubFont{dup /PaintType get 1 index /StrokeWidth get
3 -1 roll /$SubFontArray get 4 1 roll
3 index 3 index get
dup /PaintType known{dup /PaintType get}{0}ifelse
1 index /StrokeWidth known{1 index /StrokeWidth get}{0}ifelse
3 index ne exch 4 index ne or
{dup length 2 add dict begin
{1 index /FID eq {pop pop}{def}ifelse}forall
/StrokeWidth exch def
/PaintType exch def
currentdict end
dup /CIDFontName known
{/Anonymous exch /CIDFont defineresource}{/Anonymous exch definefont}ifelse
dup 4 1 roll put
}{ pop pop pop get}ifelse
} bind def
/ShowProc{systemdict /rectfill known
{0 setcachelimit}if
6 -1 roll dup /FontMatrix get exch /FontBBox get aload pop
4 index transform 4 2 roll
5 -1 roll transform 4 2 roll
setcachedevice
moveto dup type /stringtype eq {show}{glyphshow} ifelse
} bind def
/FontInfo 4 dict dup begin
/Registry (Adobe/) def
/Ordering (Identity/) def
/Supplement 0 def
end readonly def
/FontName /RMMAGE+WenYue-GuDianMingChaoTi-NC-W5 def
/Encoding 256 array 0 1 255 {1 index exch /.notdef put} for
dup 33 /cid1010 put
dup 34 /cid1263 put
dup 35 /cid1999 put
dup 36 /cid3669 put
dup 37 /cid1761 put
dup 38 /cid1283 put
dup 39 /cid49 put
dup 40 /cid90 put
dup 41 /cid85 put
dup 42 /cid73 put
dup 43 /cid80 put
dup 44 /cid79 put
readonly def
/$SubFontArray [/AAAAAJ+WenYue-GuDianMingChaoTi-NC-W5 findfont /AAAAAK+WenYue-GuDianMingChaoTi-NC-W5 findfont /AAAAAL+WenYue-GuDianMingChaoTi-NC-W5 findfont ] def
/CharProcs 14 dict
dup /cid0 {(\000) 0 $SP} 2 index /.notdef 2 index put put
dup /cid49 {(\000) 1 $SP} put
dup /cid73 {(\001) 1 $SP} put
dup /cid79 {(\002) 1 $SP} put
dup /cid80 {(\003) 1 $SP} put
dup /cid85 {(\004) 1 $SP} put
dup /cid90 {(\005) 1 $SP} put
dup /cid1010 {(\000) 2 $SP} put
dup /cid1263 {(\001) 2 $SP} put
dup /cid1283 {(\002) 2 $SP} put
dup /cid1761 {(\003) 2 $SP} put
dup /cid1999 {(\004) 2 $SP} put
dup /cid3669 {(\005) 2 $SP} put
def
end dup /FontName get exch definefont pop
%RBIEndFontSubset
687 | /RMMAGE+WenYue-GuDianMingChaoTi-NC-W5 cguidfix
688 | /F1.1/RMMAGE+WenYue-GuDianMingChaoTi-NC-W5 renmfont
689 | [ /CIEBasedABC 4 dict dup begin
690 | /WhitePoint [ 0.9505 1.0000 1.0891 ] def
691 | /DecodeABC [
692 | { 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
693 | 1 index 1 index ge { exch pop } { pop } ifelse <
694 | 0000000000000000000000000000000000000000000000000000000000000000
695 | 0000000000000000000000000000000000000001010101010101010101010101
696 | 0101010101010101010101010101010101010101010101020202020202020202
697 | 0202020202020202020202020202020202030303030303030303030303030303
698 | 0303030303030304040404040404040404040404040404040404050505050505
699 | 0505050505050505050506060606060606060606060606060607070707070707
700 | 0707070707070708080808080808080808080808090909090909090909090909
701 | 0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
702 | 0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
703 | 1010101010111111111111111112121212121212121313131313131313141414
704 | 1414141414151515151515151616161616161616171717171717171818181818
705 | 18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
706 | 1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
707 | 2323232323242424242425252525252526262626262727272727282828282829
708 | 292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
709 | 2f2f303030303131313131323232323333333333343434343535353535363636
710 | 36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
711 | 3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
712 | 4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
713 | 4f50505051515151525252535353535454545555555656565657575758585859
714 | 59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
715 | 63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
716 | 6e6e6f6f6f707070717171727273737374747475757576767677777878787979
717 | 797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
718 | 86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
719 | 9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
720 | a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
721 | aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
722 | bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
723 | cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
724 | dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
725 | eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
726 | > dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
727 | cvi 3 index exch get 4 -1 roll 3 -1 roll get
728 | dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
729 |
730 | { 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
731 | 1 index 1 index ge { exch pop } { pop } ifelse <
732 | 0000000000000000000000000000000000000000000000000000000000000000
733 | 0000000000000000000000000000000000000001010101010101010101010101
734 | 0101010101010101010101010101010101010101010101020202020202020202
735 | 0202020202020202020202020202020202030303030303030303030303030303
736 | 0303030303030304040404040404040404040404040404040404050505050505
737 | 0505050505050505050506060606060606060606060606060607070707070707
738 | 0707070707070708080808080808080808080808090909090909090909090909
739 | 0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
740 | 0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
741 | 1010101010111111111111111112121212121212121313131313131313141414
742 | 1414141414151515151515151616161616161616171717171717171818181818
743 | 18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
744 | 1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
745 | 2323232323242424242425252525252526262626262727272727282828282829
746 | 292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
747 | 2f2f303030303131313131323232323333333333343434343535353535363636
748 | 36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
749 | 3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
750 | 4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
751 | 4f50505051515151525252535353535454545555555656565657575758585859
752 | 59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
753 | 63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
754 | 6e6e6f6f6f707070717171727273737374747475757576767677777878787979
755 | 797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
756 | 86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
757 | 9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
758 | a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
759 | aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
760 | bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
761 | cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
762 | dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
763 | eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
764 | > dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
765 | cvi 3 index exch get 4 -1 roll 3 -1 roll get
766 | dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
767 |
768 | { 1.0 0.0 3 -1 roll 1 index 1 index le { exch pop} { pop } ifelse
769 | 1 index 1 index ge { exch pop } { pop } ifelse <
770 | 0000000000000000000000000000000000000000000000000000000000000000
771 | 0000000000000000000000000000000000000001010101010101010101010101
772 | 0101010101010101010101010101010101010101010101020202020202020202
773 | 0202020202020202020202020202020202030303030303030303030303030303
774 | 0303030303030304040404040404040404040404040404040404050505050505
775 | 0505050505050505050506060606060606060606060606060607070707070707
776 | 0707070707070708080808080808080808080808090909090909090909090909
777 | 0a0a0a0a0a0a0a0a0a0a0a0b0b0b0b0b0b0b0b0b0b0b0c0c0c0c0c0c0c0c0c0c
778 | 0d0d0d0d0d0d0d0d0d0d0e0e0e0e0e0e0e0e0e0f0f0f0f0f0f0f0f0f10101010
779 | 1010101010111111111111111112121212121212121313131313131313141414
780 | 1414141414151515151515151616161616161616171717171717171818181818
781 | 18181919191919191a1a1a1a1a1a1a1b1b1b1b1b1b1c1c1c1c1c1c1c1d1d1d1d
782 | 1d1d1e1e1e1e1e1e1f1f1f1f1f1f202020202020212121212121222222222223
783 | 2323232323242424242425252525252526262626262727272727282828282829
784 | 292929292a2a2a2a2a2b2b2b2b2b2c2c2c2c2c2d2d2d2d2d2e2e2e2e2e2f2f2f
785 | 2f2f303030303131313131323232323333333333343434343535353535363636
786 | 36373737373838383839393939393a3a3a3a3b3b3b3b3c3c3c3c3d3d3d3d3e3e
787 | 3e3e3f3f3f3f4040404041414141424242424343434444444445454545464646
788 | 4647474748484848494949494a4a4a4b4b4b4b4c4c4c4d4d4d4d4e4e4e4f4f4f
789 | 4f50505051515151525252535353535454545555555656565657575758585859
790 | 59595a5a5a5a5b5b5b5c5c5c5d5d5d5e5e5e5f5f5f6060606061616162626263
791 | 63636464646565656666666767676868686969696a6a6a6b6b6b6c6c6d6d6d6e
792 | 6e6e6f6f6f707070717171727273737374747475757576767677777878787979
793 | 797a7a7b7b7b7c7c7c7d7d7e7e7e7f7f7f808081818182828283838484848585
794 | 86868687878888888989898a8a8b8b8b8c8c8d8d8d8e8e8f8f90909091919292
795 | 9293939494949595969697979798989999999a9a9b9b9c9c9c9d9d9e9e9f9f9f
796 | a0a0a1a1a2a2a3a3a3a4a4a5a5a6a6a6a7a7a8a8a9a9aaaaabababacacadadae
797 | aeafafb0b0b0b1b1b2b2b3b3b4b4b5b5b6b6b6b7b7b8b8b9b9bababbbbbcbcbd
798 | bdbebebebfbfc0c0c1c1c2c2c3c3c4c4c5c5c6c6c7c7c8c8c9c9cacacbcbcccc
799 | cdcdcececfcfd0d0d1d1d2d2d3d3d4d4d5d5d6d6d7d7d8d8d9d9dadadbdcdcdd
800 | dddededfdfe0e0e1e1e2e2e3e3e4e4e5e6e6e7e7e8e8e9e9eaeaebebecededee
801 | eeefeff0f0f1f1f2f3f3f4f4f5f5f6f6f7f8f8f9f9fafafbfcfcfdfdfefeffff
802 | > dup length 1 sub 3 -1 roll mul dup dup floor cvi exch ceiling
803 | cvi 3 index exch get 4 -1 roll 3 -1 roll get
804 | dup 3 1 roll sub 3 -1 roll dup floor cvi sub mul add 255 div } bind
805 | ] def
806 | /MatrixABC [ 0.4124 0.2126 0.0193 0.3576 0.7151 0.1192 0.1805 0.0722 0.9508 ] def
807 | /RangeLMN [ 0.0 0.9505 0.0 1.0000 0.0 1.0891 ] def
808 | end ] /Cs1 exch/ColorSpace dr pop
809 | %%EndPageSetup
810 | /Cs1 SC
811 | 0 0 0 sc
812 | 0.60000002 i
813 | q
814 | 0 0 374 159 rc
815 | 1 0 0 -1 1 159 cm
816 | /F1.1[ 72 0 0 -72 0 0]sf
817 | 0 64 m
818 | (!"#$)[ 72.000000 72.000000 72.000000 0.000000 ] xS
819 | 0 138 m
820 | (%&'\(\)*+,)[ 72.000000 72.000000 39.600000 35.568000 24.264000 36.432000 34.992000 0.000000 ] xS
821 | Q
822 | q
823 | 370.67401 135.668 m
824 | 350.66 135.668 l
825 | 350.66 155.673 l
826 | 339.55399 160.27699 327.62 159.938 317.32599 155.673 c
827 | 317.32599 135.668 l
828 | 297.32599 135.668 l
829 | 292.72299 124.561 293.06201 112.629 297.32599 102.332 c
830 | 317.32599 102.332 l
831 | 317.32599 82.324997 l
832 | 328.43301 77.722 340.367 78.060997 350.66 82.324997 c
833 | 350.66 102.332 l
834 | 370.67401 102.332 l
835 | 375.276 113.442 374.93799 125.375 370.67401 135.668 c
836 | h
837 | 317.32599 112.332 m
838 | 317.32599 108.999 l
839 | 302.05301 108.999 l
840 | 300.19 115.562 300.19 122.444 302.05301 129.00101 c
841 | 333.99301 129.00101 l
842 | 333.99301 135.668 l
843 | 323.99301 135.668 l
844 | 323.99301 150.94501 l
845 | 327.24799 151.867 330.60699 152.334 334.013 152.334 c
846 | 337.40399 152.334 340.745 151.868 343.99301 150.94701 c
847 | 343.99301 125.667 l
848 | 343.99301 123.826 342.49899 122.334 340.66 122.334 c
849 | 327.327 122.334 l
850 | 321.806 122.333 317.32599 117.856 317.32599 112.332 c
851 | h
852 | 365.94601 108.999 m
853 | 333.99399 108.999 l
854 | 333.99399 102.332 l
855 | 343.99399 102.332 l
856 | 343.99399 87.053001 l
857 | 340.73901 86.132004 337.383 85.666 333.97501 85.666 c
858 | 330.586 85.666 327.24301 86.132004 323.995 87.053001 c
859 | 323.995 112.332 l
860 | 323.995 114.176 325.48801 115.666 327.328 115.666 c
861 | 340.66 115.666 l
862 | 346.181 115.666 350.66 120.142 350.66 125.666 c
863 | 350.66 129.00101 l
864 | 365.94601 129.00101 l
865 | 367.80899 122.44 367.80899 115.559 365.94601 108.999 c
866 | h
867 | W
868 | 0 0 374 159 rc
869 | 288.99966 164.00009 m
870 | 378.99997 164.00009 l
871 | 378.99997 73.998657 l
872 | 288.99966 73.998657 l
873 | h
874 | f
875 | Q
876 | q
877 | 332.32599 140.66701 m
878 | 334.16678 140.66701 335.659 142.15924 335.659 144 c
879 | 335.659 145.84076 334.16678 147.33299 332.32599 147.33299 c
880 | 330.48523 147.33299 328.99301 145.84076 328.99301 144 c
881 | 328.99301 142.15924 330.48523 140.66701 332.32599 140.66701 c
882 | h
883 | W
884 | 0 0 374 159 rc
885 | 323.99301 152.33299 m
886 | 340.659 152.33299 l
887 | 340.659 135.66701 l
888 | 323.99301 135.66701 l
889 | h
890 | f
891 | Q
892 | q
893 | 335.659 90.667 m
894 | 337.49976 90.667 338.992 92.159233 338.992 94 c
895 | 338.992 95.840767 337.49976 97.333 335.659 97.333 c
896 | 333.81824 97.333 332.32599 95.840767 332.32599 94 c
897 | 332.32599 92.159233 333.81824 90.667 335.659 90.667 c
898 | h
899 | W
900 | 0 0 374 159 rc
901 | 327.32599 102.333 m
902 | 343.992 102.333 l
903 | 343.992 85.667 l
904 | 327.32599 85.667 l
905 | h
906 | f
907 | ep
908 | end
909 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | GNU GENERAL PUBLIC LICENSE
2 | Version 2, June 1991
3 |
4 | Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6 | Everyone is permitted to copy and distribute verbatim copies
7 | of this license document, but changing it is not allowed.
8 |
9 | Preamble
10 |
11 | The licenses for most software are designed to take away your
12 | freedom to share and change it. By contrast, the GNU General Public
13 | License is intended to guarantee your freedom to share and change free
14 | software--to make sure the software is free for all its users. This
15 | General Public License applies to most of the Free Software
16 | Foundation's software and to any other program whose authors commit to
17 | using it. (Some other Free Software Foundation software is covered by
18 | the GNU Lesser General Public License instead.) You can apply it to
19 | your programs, too.
20 |
21 | When we speak of free software, we are referring to freedom, not
22 | price. Our General Public Licenses are designed to make sure that you
23 | have the freedom to distribute copies of free software (and charge for
24 | this service if you wish), that you receive source code or can get it
25 | if you want it, that you can change the software or use pieces of it
26 | in new free programs; and that you know you can do these things.
27 |
28 | To protect your rights, we need to make restrictions that forbid
29 | anyone to deny you these rights or to ask you to surrender the rights.
30 | These restrictions translate to certain responsibilities for you if you
31 | distribute copies of the software, or if you modify it.
32 |
33 | For example, if you distribute copies of such a program, whether
34 | gratis or for a fee, you must give the recipients all the rights that
35 | you have. You must make sure that they, too, receive or can get the
36 | source code. And you must show them these terms so they know their
37 | rights.
38 |
39 | We protect your rights with two steps: (1) copyright the software, and
40 | (2) offer you this license which gives you legal permission to copy,
41 | distribute and/or modify the software.
42 |
43 | Also, for each author's protection and ours, we want to make certain
44 | that everyone understands that there is no warranty for this free
45 | software. If the software is modified by someone else and passed on, we
46 | want its recipients to know that what they have is not the original, so
47 | that any problems introduced by others will not reflect on the original
48 | authors' reputations.
49 |
50 | Finally, any free program is threatened constantly by software
51 | patents. We wish to avoid the danger that redistributors of a free
52 | program will individually obtain patent licenses, in effect making the
53 | program proprietary. To prevent this, we have made it clear that any
54 | patent must be licensed for everyone's free use or not licensed at all.
55 |
56 | The precise terms and conditions for copying, distribution and
57 | modification follow.
58 |
59 | GNU GENERAL PUBLIC LICENSE
60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61 |
62 | 0. This License applies to any program or other work which contains
63 | a notice placed by the copyright holder saying it may be distributed
64 | under the terms of this General Public License. The "Program", below,
65 | refers to any such program or work, and a "work based on the Program"
66 | means either the Program or any derivative work under copyright law:
67 | that is to say, a work containing the Program or a portion of it,
68 | either verbatim or with modifications and/or translated into another
69 | language. (Hereinafter, translation is included without limitation in
70 | the term "modification".) Each licensee is addressed as "you".
71 |
72 | Activities other than copying, distribution and modification are not
73 | covered by this License; they are outside its scope. The act of
74 | running the Program is not restricted, and the output from the Program
75 | is covered only if its contents constitute a work based on the
76 | Program (independent of having been made by running the Program).
77 | Whether that is true depends on what the Program does.
78 |
79 | 1. You may copy and distribute verbatim copies of the Program's
80 | source code as you receive it, in any medium, provided that you
81 | conspicuously and appropriately publish on each copy an appropriate
82 | copyright notice and disclaimer of warranty; keep intact all the
83 | notices that refer to this License and to the absence of any warranty;
84 | and give any other recipients of the Program a copy of this License
85 | along with the Program.
86 |
87 | You may charge a fee for the physical act of transferring a copy, and
88 | you may at your option offer warranty protection in exchange for a fee.
89 |
90 | 2. You may modify your copy or copies of the Program or any portion
91 | of it, thus forming a work based on the Program, and copy and
92 | distribute such modifications or work under the terms of Section 1
93 | above, provided that you also meet all of these conditions:
94 |
95 | a) You must cause the modified files to carry prominent notices
96 | stating that you changed the files and the date of any change.
97 |
98 | b) You must cause any work that you distribute or publish, that in
99 | whole or in part contains or is derived from the Program or any
100 | part thereof, to be licensed as a whole at no charge to all third
101 | parties under the terms of this License.
102 |
103 | c) If the modified program normally reads commands interactively
104 | when run, you must cause it, when started running for such
105 | interactive use in the most ordinary way, to print or display an
106 | announcement including an appropriate copyright notice and a
107 | notice that there is no warranty (or else, saying that you provide
108 | a warranty) and that users may redistribute the program under
109 | these conditions, and telling the user how to view a copy of this
110 | License. (Exception: if the Program itself is interactive but
111 | does not normally print such an announcement, your work based on
112 | the Program is not required to print an announcement.)
113 |
114 | These requirements apply to the modified work as a whole. If
115 | identifiable sections of that work are not derived from the Program,
116 | and can be reasonably considered independent and separate works in
117 | themselves, then this License, and its terms, do not apply to those
118 | sections when you distribute them as separate works. But when you
119 | distribute the same sections as part of a whole which is a work based
120 | on the Program, the distribution of the whole must be on the terms of
121 | this License, whose permissions for other licensees extend to the
122 | entire whole, and thus to each and every part regardless of who wrote it.
123 |
124 | Thus, it is not the intent of this section to claim rights or contest
125 | your rights to work written entirely by you; rather, the intent is to
126 | exercise the right to control the distribution of derivative or
127 | collective works based on the Program.
128 |
129 | In addition, mere aggregation of another work not based on the Program
130 | with the Program (or with a work based on the Program) on a volume of
131 | a storage or distribution medium does not bring the other work under
132 | the scope of this License.
133 |
134 | 3. You may copy and distribute the Program (or a work based on it,
135 | under Section 2) in object code or executable form under the terms of
136 | Sections 1 and 2 above provided that you also do one of the following:
137 |
138 | a) Accompany it with the complete corresponding machine-readable
139 | source code, which must be distributed under the terms of Sections
140 | 1 and 2 above on a medium customarily used for software interchange; or,
141 |
142 | b) Accompany it with a written offer, valid for at least three
143 | years, to give any third party, for a charge no more than your
144 | cost of physically performing source distribution, a complete
145 | machine-readable copy of the corresponding source code, to be
146 | distributed under the terms of Sections 1 and 2 above on a medium
147 | customarily used for software interchange; or,
148 |
149 | c) Accompany it with the information you received as to the offer
150 | to distribute corresponding source code. (This alternative is
151 | allowed only for noncommercial distribution and only if you
152 | received the program in object code or executable form with such
153 | an offer, in accord with Subsection b above.)
154 |
155 | The source code for a work means the preferred form of the work for
156 | making modifications to it. For an executable work, complete source
157 | code means all the source code for all modules it contains, plus any
158 | associated interface definition files, plus the scripts used to
159 | control compilation and installation of the executable. However, as a
160 | special exception, the source code distributed need not include
161 | anything that is normally distributed (in either source or binary
162 | form) with the major components (compiler, kernel, and so on) of the
163 | operating system on which the executable runs, unless that component
164 | itself accompanies the executable.
165 |
166 | If distribution of executable or object code is made by offering
167 | access to copy from a designated place, then offering equivalent
168 | access to copy the source code from the same place counts as
169 | distribution of the source code, even though third parties are not
170 | compelled to copy the source along with the object code.
171 |
172 | 4. You may not copy, modify, sublicense, or distribute the Program
173 | except as expressly provided under this License. Any attempt
174 | otherwise to copy, modify, sublicense or distribute the Program is
175 | void, and will automatically terminate your rights under this License.
176 | However, parties who have received copies, or rights, from you under
177 | this License will not have their licenses terminated so long as such
178 | parties remain in full compliance.
179 |
180 | 5. You are not required to accept this License, since you have not
181 | signed it. However, nothing else grants you permission to modify or
182 | distribute the Program or its derivative works. These actions are
183 | prohibited by law if you do not accept this License. Therefore, by
184 | modifying or distributing the Program (or any work based on the
185 | Program), you indicate your acceptance of this License to do so, and
186 | all its terms and conditions for copying, distributing or modifying
187 | the Program or works based on it.
188 |
189 | 6. Each time you redistribute the Program (or any work based on the
190 | Program), the recipient automatically receives a license from the
191 | original licensor to copy, distribute or modify the Program subject to
192 | these terms and conditions. You may not impose any further
193 | restrictions on the recipients' exercise of the rights granted herein.
194 | You are not responsible for enforcing compliance by third parties to
195 | this License.
196 |
197 | 7. If, as a consequence of a court judgment or allegation of patent
198 | infringement or for any other reason (not limited to patent issues),
199 | conditions are imposed on you (whether by court order, agreement or
200 | otherwise) that contradict the conditions of this License, they do not
201 | excuse you from the conditions of this License. If you cannot
202 | distribute so as to satisfy simultaneously your obligations under this
203 | License and any other pertinent obligations, then as a consequence you
204 | may not distribute the Program at all. For example, if a patent
205 | license would not permit royalty-free redistribution of the Program by
206 | all those who receive copies directly or indirectly through you, then
207 | the only way you could satisfy both it and this License would be to
208 | refrain entirely from distribution of the Program.
209 |
210 | If any portion of this section is held invalid or unenforceable under
211 | any particular circumstance, the balance of the section is intended to
212 | apply and the section as a whole is intended to apply in other
213 | circumstances.
214 |
215 | It is not the purpose of this section to induce you to infringe any
216 | patents or other property right claims or to contest validity of any
217 | such claims; this section has the sole purpose of protecting the
218 | integrity of the free software distribution system, which is
219 | implemented by public license practices. Many people have made
220 | generous contributions to the wide range of software distributed
221 | through that system in reliance on consistent application of that
222 | system; it is up to the author/donor to decide if he or she is willing
223 | to distribute software through any other system and a licensee cannot
224 | impose that choice.
225 |
226 | This section is intended to make thoroughly clear what is believed to
227 | be a consequence of the rest of this License.
228 |
229 | 8. If the distribution and/or use of the Program is restricted in
230 | certain countries either by patents or by copyrighted interfaces, the
231 | original copyright holder who places the Program under this License
232 | may add an explicit geographical distribution limitation excluding
233 | those countries, so that distribution is permitted only in or among
234 | countries not thus excluded. In such case, this License incorporates
235 | the limitation as if written in the body of this License.
236 |
237 | 9. The Free Software Foundation may publish revised and/or new versions
238 | of the General Public License from time to time. Such new versions will
239 | be similar in spirit to the present version, but may differ in detail to
240 | address new problems or concerns.
241 |
242 | Each version is given a distinguishing version number. If the Program
243 | specifies a version number of this License which applies to it and "any
244 | later version", you have the option of following the terms and conditions
245 | either of that version or of any later version published by the Free
246 | Software Foundation. If the Program does not specify a version number of
247 | this License, you may choose any version ever published by the Free Software
248 | Foundation.
249 |
250 | 10. If you wish to incorporate parts of the Program into other free
251 | programs whose distribution conditions are different, write to the author
252 | to ask for permission. For software which is copyrighted by the Free
253 | Software Foundation, write to the Free Software Foundation; we sometimes
254 | make exceptions for this. Our decision will be guided by the two goals
255 | of preserving the free status of all derivatives of our free software and
256 | of promoting the sharing and reuse of software generally.
257 |
258 | NO WARRANTY
259 |
260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268 | REPAIR OR CORRECTION.
269 |
270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278 | POSSIBILITY OF SUCH DAMAGES.
279 |
280 | END OF TERMS AND CONDITIONS
281 |
282 | How to Apply These Terms to Your New Programs
283 |
284 | If you develop a new program, and you want it to be of the greatest
285 | possible use to the public, the best way to achieve this is to make it
286 | free software which everyone can redistribute and change under these terms.
287 |
288 | To do so, attach the following notices to the program. It is safest
289 | to attach them to the start of each source file to most effectively
290 | convey the exclusion of warranty; and each file should have at least
291 | the "copyright" line and a pointer to where the full notice is found.
292 |
293 |
294 | Copyright (C)
295 |
296 | This program is free software; you can redistribute it and/or modify
297 | it under the terms of the GNU General Public License as published by
298 | the Free Software Foundation; either version 2 of the License, or
299 | (at your option) any later version.
300 |
301 | This program is distributed in the hope that it will be useful,
302 | but WITHOUT ANY WARRANTY; without even the implied warranty of
303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304 | GNU General Public License for more details.
305 |
306 | You should have received a copy of the GNU General Public License along
307 | with this program; if not, write to the Free Software Foundation, Inc.,
308 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309 |
310 | Also add information on how to contact you by electronic and paper mail.
311 |
312 | If the program is interactive, make it output a short notice like this
313 | when it starts in an interactive mode:
314 |
315 | Gnomovision version 69, Copyright (C) year name of author
316 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317 | This is free software, and you are welcome to redistribute it
318 | under certain conditions; type `show c' for details.
319 |
320 | The hypothetical commands `show w' and `show c' should show the appropriate
321 | parts of the General Public License. Of course, the commands you use may
322 | be called something other than `show w' and `show c'; they could even be
323 | mouse-clicks or menu items--whatever suits your program.
324 |
325 | You should also get your employer (if you work as a programmer) or your
326 | school, if any, to sign a "copyright disclaimer" for the program, if
327 | necessary. Here is a sample; alter the names:
328 |
329 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330 | `Gnomovision' (which makes passes at compilers) written by James Hacker.
331 |
332 | , 1 April 1989
333 | Ty Coon, President of Vice
334 |
335 | This General Public License does not permit incorporating your program into
336 | proprietary programs. If your program is a subroutine library, you may
337 | consider it more useful to permit linking proprietary applications with the
338 | library. If this is what you want to do, use the GNU Lesser General
339 | Public License instead of this License.
340 |
--------------------------------------------------------------------------------
/PNG/AI.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/easychen/code-tattoo/225fd3bfde7a59766d1542ba792eec756509e1b7/PNG/AI.png
--------------------------------------------------------------------------------
/PNG/HTML.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/easychen/code-tattoo/225fd3bfde7a59766d1542ba792eec756509e1b7/PNG/HTML.png
--------------------------------------------------------------------------------
/PNG/Javascript.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/easychen/code-tattoo/225fd3bfde7a59766d1542ba792eec756509e1b7/PNG/Javascript.png
--------------------------------------------------------------------------------
/PNG/PHP.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/easychen/code-tattoo/225fd3bfde7a59766d1542ba792eec756509e1b7/PNG/PHP.png
--------------------------------------------------------------------------------
/PNG/Python.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/easychen/code-tattoo/225fd3bfde7a59766d1542ba792eec756509e1b7/PNG/Python.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 语言纹身贴纸图案库
2 |
3 | - 源文件是 Sketch 的,建议使用中文字体为: 文悦古典明朝体 ,该字体可以[免费下载](http://wytype.com/typeface/WenYue-GuDianMingChaoTi),但是不能商用。商用请向文悦购买版权,如有因滥用字体引发的版权纠纷,本项目作者不承担任何直接或间接的责任。
4 | - 印制时可以直接使用 EPS 或者 PNG 目录里边的文件,建议尺寸,4cm。
5 |
6 | 实际效果:
7 |
8 | 
9 |
10 | 来自 https://weibo.com/6147219058/GdRyAalP0
11 |
--------------------------------------------------------------------------------
/code-tattoo.sketch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/easychen/code-tattoo/225fd3bfde7a59766d1542ba792eec756509e1b7/code-tattoo.sketch
--------------------------------------------------------------------------------