├── 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 | ![](https://wx1.sinaimg.cn/mw1024/006I16uuly1fqpz3x1rxoj30u0140hdt.jpg) 9 | 10 | 来自 https://weibo.com/6147219058/GdRyAalP0 11 | -------------------------------------------------------------------------------- /code-tattoo.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/easychen/code-tattoo/225fd3bfde7a59766d1542ba792eec756509e1b7/code-tattoo.sketch --------------------------------------------------------------------------------