diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps')
-rw-r--r-- | Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps | 3837 |
1 files changed, 0 insertions, 3837 deletions
diff --git a/Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps b/Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps deleted file mode 100644 index 6804ea17d4d..00000000000 --- a/Master/texmf-dist/doc/latex/presentations/images/pd/wieesgeht.eps +++ /dev/null @@ -1,3837 +0,0 @@ -%!PS-Adobe-2.0 EPSF-2.0 -%%Creator: dvips(k) 5.97 Copyright 2008 Radical Eye Software -%%Title: wieesgeht.dvi -%%CreationDate: Sun May 31 12:40:54 2009 -%%BoundingBox: 135 381 525 664 -%%DocumentFonts: LucidaBright-Demi LucidaBrightCE LucidaSans-Typewriter -%%EndComments -%DVIPSWebPage: (www.radicaleye.com) -%DVIPSCommandLine: dvips -E wieesgeht.dvi -o wieesgeht.eps -%DVIPSParameters: dpi=600 -%DVIPSSource: TeX output 2009.05.31:1240 -%%BeginProcSet: tex.pro 0 0 -%! -/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S -N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 -mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 -0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ -landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize -mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ -matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round -exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ -statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] -N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin -/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array -/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 -array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N -df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A -definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get -}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} -B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr -1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S -/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy -setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask -restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn -/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put -}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ -bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A -mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ -SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ -userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X -1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 -index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N -/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ -/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) -(LaserWriter 16/600)]{A length product length le{A length product exch 0 -exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse -end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask -grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} -imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round -exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto -fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p -delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} -B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ -p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S -rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end - -%%EndProcSet -%%BeginProcSet: pstricks.pro 0 0 -% $Id: pstricks.pro 40 2008-09-04 17:56:41Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 1.06, 2009/01/30 -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN archives -%% in directory macros/latex/base/lppl.txt. -% -% -% Define the follwing gs-functions if not known, eg when using distiller -% -systemdict /.setopacityalpha known not {/.setopacityalpha { pop } def } if -systemdict /.setblendmode known not {/.setblendmode { pop } def } if -systemdict /.setshapealpha known not {/.setshapealpha { pop } def } if -% -/tx@Dict 200 dict def % the main PSTricks dictionary -tx@Dict begin -/ADict 25 dict def % The arrow dictionaray -/CM { matrix currentmatrix } bind def -/SLW /setlinewidth load def -/CLW /currentlinewidth load def -/CP /currentpoint load def -/ED { exch def } bind def -/L /lineto load def -/T /translate load def -/TMatrix { } def -/RAngle { 0 } def -/Sqrt { dup 0 lt { pop 0 } { sqrt } ifelse } def % return 0 for negative arguments -/Atan { /atan load stopped { pop pop 0 } if } def % return 0 if atan not known -/ATAN1 {neg -1 atan 180 sub } def % atan(x) (only one parameter) -/Div { dup 0 eq { pop } { div } ifelse } def % control the division -/tan { dup cos abs 1.e-10 lt - { pop 1.e10 } % return 1.e10 as infinit - { dup sin exch cos div } ifelse % default sin/cos -} def -/Tan { dup sin exch cos Div } def % sin(x)/cos(x) x in degrees -/Acos {dup dup mul neg 1 add dup 0 lt { % arc cos, returns 0 when negative root - pop pop 0 }{ sqrt exch atan} ifelse } def -/NET { neg exch neg exch T } def % change coordinate system to the negative one -/Pyth { dup mul exch dup mul add sqrt } def % Pythagoras, expects 2 parameter -/Pyth2 { % Pythagoras, xA yA xB yB - 3 -1 roll % xA xB yB yA - sub % xA xB yB-yA - 3 1 roll % yB-yA xA xB - sub % yB-yA xA-xB - Pyth } def -/PtoC { 2 copy cos mul 3 1 roll sin mul } def % Polar to Cartesian -/Rand { rand 4294967295 div } def % a real random number -%----------------- hv added 20050516 --------------- -/PiDiv2 1.57079632680 def -/Pi 3.14159265359 def -/TwoPi 6.28318530718 def -/Euler 2.71828182846 def -%/e Euler bind def -% -/RadtoDeg { 180 mul Pi div } bind def % convert from radian to degrees -/DegtoRad { Pi mul 180 div } bind def % viceversa -%----------------- hv end--------------------------- -/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def -% -/PathLength { - flattenpath /z 0 def - { /y1 ED /x1 ED /y2 y1 def /x2 x1 def } - { /y ED /x ED PathLength@ } - {} - { /y y2 def /x x2 def PathLength@ } - /pathforall load stopped { pop pop pop pop } if - z -} def -% -/STP { .996264 dup scale } def % BP/PT scaling -/STV { SDict begin normalscale end STP } def % -% -%%-------------- DG begin patch 15 ---------------%% -%/DashLine { dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def -%PathLength } ifelse /b ED /x ED /y ED /z y x add def b a .5 sub 2 mul y -%mul sub z Div round z mul a .5 sub 2 mul y mul add b exch Div dup y mul -%/y ED x mul /x ED x 0 gt y 0 gt and { [ y x ] 1 a sub y mul } { [ 1 0 ] -%0 } ifelse setdash stroke } def -/DashLine { - dup 0 gt { /a .5 def PathLength exch div } { pop /a 1 def PathLength } ifelse - /b ED /x1 ED /y1 ED /x ED /y ED - /z y x add y1 add x1 add def - /Coef b a .5 sub 2 mul y mul sub z Div round - z mul a .5 sub 2 mul y mul add b exch Div def - /y y Coef mul def - /x x Coef mul def - /y1 y1 Coef mul def - /x1 x1 Coef mul def - x1 0 gt y1 0 gt or x 0 gt or y 0 gt and - { [ y x y1 x1 ] 1 a sub y mul } - { [ 1 0 ] 0 } ifelse - setdash stroke -} def -%%-------------- DG end patch 15 ---------------%% -/DotLine { - /b PathLength def - /a ED /z ED /y CLW def - /z y z add def - a 0 gt { - /b b a div def - }{ - a 0 eq { - /b b y sub def - }{ a -3 eq { - /b b y add def } if - } ifelse - } ifelse - [ 0 b b z Div round Div dup 0 le { pop 1 } if ] - a 0 gt { 0 }{ y 2 div a -2 gt { neg }if } ifelse - setdash 1 setlinecap stroke -} def -% -/LineFill { % hv ------------ patch 7 ------------- - gsave - abs /hatchWidthInc ED - abs /hatchSepInc ED - abs CLW add /a ED - a 0 dtransform round exch round exch - 2 copy idtransform - exch Atan rotate - idtransform pop /a ED - .25 .25 itransform pathbbox - /y2 ED - a Div ceiling cvi /x2 ED /y1 ED - a Div cvi /x1 ED /y2 y2 y1 sub def - clip - newpath - 2 setlinecap - systemdict - /setstrokeadjust known { true setstrokeadjust } if - x2 x1 sub 1 add { - x1 a mul y1 moveto 0 y2 rlineto stroke - /x1 x1 1 add - hatchWidthInc 0 gt { CLW add } if - def - hatchSepInc 0 gt hatchWidthInc 0 gt or { - /a a hatchSepInc add def - CLW hatchWidthInc add SLW - } if - } repeat - grestore - pop pop } def -% -/PenroseFill {% on stack: scaling factor - dup dup scale - 1 exch div round /penroseFactor ED - a 0 dtransform round exch round exch - 2 copy idtransform - exch Atan rotate - idtransform pop /a ED - .25 .25 itransform pathbbox - /y2 ED - a Div ceiling cvi /x2 ED /y1 ED - a Div cvi /x1 ED /y2 y2 y1 sub def - clip - newpath - systemdict - /setstrokeadjust known { true setstrokeadjust } if - /I/S/L/W/G/+/Z/F/E/D[/def/exch/for{E D}/add{s E get mul} - { Z -36.2001 1 33 }{25 E S rlineto}{/q Z dup q G E q 1 + G}{Z 2 2}]{cvx def}forall - [0 72 1008 {dup sin E cos }F ]1 setlinejoin/s W{/a W{/b I 10{/i I 4{/m I moveto - i m +/j I 10{/l Z b m l + G a l G sub s m get div .2 + floor .3 + 25 - mul j l + S rmoveto}F i L j L stroke }F}F}F}F - grestore - pop pop -} def -% -%gsave abs CLW add /a ED a 0 dtransform round exch round exch -%2 copy idtransform exch Atan rotate idtransform pop /a ED .25 .25 -%% DG/SR modification begin - Dec. 12, 1997 - Patch 2 -%%itransform translate pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -%itransform pathbbox /y2 ED a Div ceiling cvi /x2 ED /y1 ED a -%% DG/SR modification end -%Div cvi /x1 ED /y2 y2 y1 sub def clip newpath 2 setlinecap systemdict -%/setstrokeadjust known { true setstrokeadjust } if x2 x1 sub 1 add { x1 -%% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -%% a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore } -%% def -%a mul y1 moveto 0 y2 rlineto stroke /x1 x1 1 add def } repeat grestore -%pop pop } def -%% DG/SR modification end -% -/BeginArrow { - ADict begin % hold it local, for end see EndArrow - /@mtrx CM def - gsave - 2 copy T - 2 index sub neg exch - 3 index sub exch Atan - rotate newpath -} def -% -/EndArrow { @mtrx setmatrix CP grestore end } def % end the ADict -% -/Arrow { - CLW mul add dup - 2 div /w ED - mul dup /h ED - mul /a ED - { 0 h T 1 -1 scale } if - w neg h moveto - 0 0 L w h L w neg a neg rlineto - gsave fill grestore -} def -% -/ArrowD { % the sides are drawn as curves (hv 20071211) - CLW mul add dup - 2 div /w ED - mul dup /h ED - mul /Inset ED - { 0 h T 1 -1 scale } if % changes the direction -% we use y=w/h^2 * x^2 as equation for the control points -% for the coordinates the arrow is seen from top to bottom -% the bottom (tip) is (0;0) - w neg h moveto % lower left of > - w 9 div 4 mul neg h 3 div 2 mul - w 9 div neg h 3 div - 0 0 curveto % tip of > - w 9 div h 3 div - w 9 div 4 mul h 3 div 2 mul - w h curveto % upper left of > - w neg Inset neg rlineto % move to x=0 and inset - gsave fill grestore -} def -% -/Tbar { - CLW mul add /z ED - z -2 div CLW 2 div moveto - z 0 rlineto stroke - 0 CLW moveto -} def -% -/Bracket { - CLW mul add dup CLW sub 2 div - /x ED mul CLW add /y ED /z CLW 2 div def - x neg y moveto - x neg CLW 2 div L x CLW 2 div L x y L stroke - 0 CLW moveto -} def -% -/RoundBracket { - CLW mul add dup 2 div - /x ED mul /y ED /mtrx CM def - 0 CLW 2 div T x y mul 0 ne { x y scale } if - 1 1 moveto - .85 .5 .35 0 0 0 curveto - -.35 0 -.85 .5 -1 1 curveto - mtrx setmatrix stroke 0 CLW moveto -} def -% -/SD { 0 360 arc fill } def -% -/EndDot { % DS is the dot size - { /z DS def } { /z 0 def } ifelse - /b ED 0 z DS SD b { 0 z DS CLW sub SD } if - 0 DS z add CLW 4 div sub moveto } def -% -/Shadow { [ { /moveto load } { /lineto load } { /curveto load } { - /closepath load } /pathforall load stopped { pop pop pop pop CP /moveto - load } if ] cvx newpath 3 1 roll T exec } def -% -%/NArray { -% aload length 2 div dup dup cvi eq not { exch pop } if /n exch -% cvi def -%} def -% -/NArray { % holds the coordinates and on top of stack the showpoints boolean - /showpoints ED - counttomark 2 div dup cvi /n ED - n eq not { exch pop } if - showpoints { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse -} def -% -/Line { - NArray n 0 eq not - { n 1 eq { 0 0 /n 2 def } if ArrowA /n n 2 sub def - n { Lineto } repeat - CP 4 2 roll ArrowB L pop pop - } if -} def -% -/Arcto { - /a [ 6 -2 roll ] cvx def - a r - /arcto load stopped { 5 } { 4 } ifelse { pop } repeat - a -} def -% -/CheckClosed { dup n 2 mul 1 sub index eq 2 index n 2 mul 1 add index eq - and { pop pop /n n 1 sub def } if } def -/Polygon { NArray n 2 eq { 0 0 /n 3 def } if n 3 lt { n { pop pop } - repeat } { n 3 gt { CheckClosed } if n 2 mul -2 roll /y0 ED /x0 ED /y1 - ED /x1 ED x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 - moveto /n n 2 sub def n { Lineto } repeat x1 y1 x0 y0 6 4 roll Lineto - Lineto pop pop closepath } ifelse } def -/Diamond { - /mtrx CM def - T rotate - /h ED - /w ED - dup 0 eq { pop } { CLW mul neg - /d ED - /a w h Atan def - /h d a sin Div h add def - /w d a cos Div w add def } ifelse - mark w 2 div h 2 div w 0 0 h neg w neg 0 0 h w 2 div h 2 div - /ArrowA { moveto } def - /ArrowB { } def - false Line - closepath mtrx setmatrix } def -% DG modification begin - Jan. 15, 1997 -%/Triangle { /mtrx CM def translate rotate /h ED 2 div /w ED dup 0 eq { -%pop } { CLW mul /d ED /h h d w h Atan sin Div sub def /w w d h w Atan 2 -%div dup cos exch sin Div mul sub def } ifelse mark 0 d w neg d 0 h w d 0 -%d /ArrowA { moveto } def /ArrowB { } def false Line closepath mtrx -%setmatrix } def -% -/Triangle { - /mtrx CM def - translate - rotate /h ED 2 div /w ED - dup CLW mul /d ED - /h h d w h Atan sin Div sub def - /w w d h w Atan 2 div dup cos exch sin Div mul sub def - mark - 0 d w neg d 0 h w d 0 d - /ArrowA { moveto } def - /ArrowB { } def - false - Line - closepath - mtrx -% DG/SR modification begin - Jun. 1, 1998 - Patch 3 (from Michael Vulis) -% setmatrix } def - setmatrix pop -} def -% DG/SR modification end -% -/CCA { - /y ED /x ED - 2 copy y sub /dy1 ED - x sub /dx1 ED - /l1 dx1 dy1 Pyth def -} def -% -/CC { - /l0 l1 def - /x1 x dx sub def - /y1 y dy sub def - /dx0 dx1 def - /dy0 dy1 def - CCA - /dx dx0 l1 c exp mul dx1 l0 c exp mul add def - /dy dy0 l1 c exp mul dy1 l0 c exp mul add def - /m dx0 dy0 Atan dx1 dy1 Atan sub 2 div cos abs b exp a mul dx dy Pyth Div 2 div def - /x2 x l0 dx mul m mul sub def - /y2 y l0 dy mul m mul sub def - /dx l1 dx mul m mul neg def - /dy l1 dy mul m mul neg def -} def -% -/IC { - /c c 1 add def - c 0 lt { /c 0 def } { c 3 gt { /c 3 def } if } ifelse - /a a 2 mul 3 div 45 cos b exp div def - CCA - /dx 0 def - /dy 0 def -} def -% -/BOC { IC CC x2 y2 x1 y1 ArrowA CP 4 2 roll x y curveto } def -/NC { CC x1 y1 x2 y2 x y curveto } def -/EOC { x dx sub y dy sub 4 2 roll ArrowB 2 copy curveto } def -/BAC { IC CC x y moveto CC x1 y1 CP ArrowA } def -/NAC { x2 y2 x y curveto CC x1 y1 } def -/EAC { x2 y2 x y ArrowB curveto pop pop } def -% -/OpenCurve { - NArray n 3 lt - { n { pop pop } repeat } - { BOC /n n 3 sub def n { NC } repeat EOC } ifelse -} def -% -/AltCurve { - { false NArray n 2 mul 2 roll - [ n 2 mul 3 sub 1 roll ] aload - /Points ED - n 2 mul -2 roll } - { false NArray } ifelse - n 4 lt { n { pop pop } repeat } { BAC /n n 4 sub def n { NAC } repeat EAC } ifelse -} def -% -/ClosedCurve { - NArray n 3 lt - { n { pop pop } repeat } - { n 3 gt { CheckClosed } if - 6 copy n 2 mul 6 add 6 roll - IC CC x y moveto n { NC } repeat - closepath pop pop - } ifelse -} def -% -/SQ { /r ED r r moveto r r neg L r neg r neg L r neg r L fill } def -/ST { /y ED /x ED x y moveto x neg y L 0 x L fill } def -/SP { /r ED gsave 0 r moveto 4 { 72 rotate 0 r L } repeat fill grestore } def -% -/FontDot { - DS 2 mul dup - matrix scale matrix concatmatrix exch matrix - rotate matrix concatmatrix exch - findfont exch makefont setfont -} def -% -/Rect { - x1 y1 y2 add 2 div moveto - x1 y2 lineto - x2 y2 lineto - x2 y1 lineto - x1 y1 lineto - closepath -} def -% -/OvalFrame { - x1 x2 eq y1 y2 eq or - { pop pop x1 y1 moveto x2 y2 L } - { y1 y2 sub abs x1 x2 sub abs 2 copy gt - { exch pop } { pop } ifelse - 2 div exch { dup 3 1 roll mul exch } if - 2 copy lt { pop } { exch pop } ifelse - /b ED - x1 y1 y2 add 2 div moveto - x1 y2 x2 y2 b arcto - x2 y2 x2 y1 b arcto - x2 y1 x1 y1 b arcto - x1 y1 x1 y2 b arcto - 16 { pop } repeat - closepath - } ifelse -} def -% -/Frame { - CLW mul /a ED - 3 -1 roll - 2 copy gt { exch } if - a sub /y2 ED - a add /y1 ED - 2 copy gt { exch } if - a sub /x2 ED - a add /x1 ED - 1 index 0 eq { pop pop Rect } { OvalFrame } ifelse -} def -% -/BezierNArray { - /f ED - counttomark 2 div dup cvi /n ED - n eq not { exch pop } if - n 1 sub neg 3 mod 3 add 3 mod { 0 0 /n n 1 add def } repeat - f { ] aload /Points ED } { n 2 mul 1 add -1 roll pop } ifelse -} def -% -/OpenBezier { - BezierNArray - n 1 eq - { pop pop } - { ArrowA n 4 sub 3 idiv - { 6 2 roll 4 2 roll curveto } repeat - 6 2 roll 4 2 roll ArrowB curveto } ifelse -} def -% -/ClosedBezier { - BezierNArray - n 1 eq - { pop pop } - { moveto n 1 sub 3 idiv - { 6 2 roll 4 2 roll curveto } repeat - closepath } ifelse -} def -% -/BezierShowPoints { - gsave - Points aload length 2 div cvi /n ED - moveto - n 1 sub { lineto } repeat - CLW 2 div SLW [ 4 4 ] 0 setdash stroke - grestore -} def -% -/Parab { - /y0 ED /x0 ED /y1 ED /x1 ED - /dx x0 x1 sub 3 div def - /dy y0 y1 sub 3 div def - x0 dx sub y0 dy add x1 y1 ArrowA - x0 dx add y0 dy add x0 2 mul x1 sub y1 ArrowB - curveto - /Points [ x1 y1 x0 y0 x0 2 mul x1 sub y1 ] def -} def -% -/Parab1 { % 1 end | 0 SP - /ySP ED /xSP ED /y1 ED /x1 ED - /dx xSP x1 sub 3 div def - /dy ySP y1 sub 3 div def - newpath x1 y1 moveto xSP y1 lineto xSP ySP lineto - x1 ySP lineto closepath clip - currentpoint - newpath moveto - xSP dx sub ySP dy add x1 y1 ArrowA - xSP dx add ySP dy add xSP 2 mul x1 sub y1 ArrowB - curveto - /Points [ x1 y1 xSP ySP xSP 2 mul x1 sub y1 ] def -} def -% -/Grid { - newpath - /a 4 string def - /b ED /c ED /n ED - cvi dup 1 lt { pop 1 } if - /s ED - s div dup 0 eq { pop 1 } if - /dy ED s div dup 0 eq { pop 1 } if - /dx ED dy div round dy mul - /y0 ED dx div round dx mul - /x0 ED dy div round cvi - /y2 ED dx div round cvi - /x2 ED dy div round cvi - /y1 ED dx div round cvi - /x1 ED - /h y2 y1 sub 0 gt { 1 } { -1 } ifelse def - /w x2 x1 sub 0 gt { 1 } { -1 } ifelse def - b 0 gt { - /z1 b 4 div CLW 2 div add def -% /Helvetica findfont b scalefont setfont - /b b .95 mul CLW 2 div add def } if - systemdict /setstrokeadjust known - { true setstrokeadjust /t { } def } - { /t { transform 0.25 sub round 0.25 add exch 0.25 sub round 0.25 add - exch itransform } bind def } ifelse - gsave n 0 gt { 1 setlinecap [ 0 dy n div ] dy n div 2 div setdash } { 2 setlinecap } ifelse - /i x1 def - /f y1 dy mul n 0 gt { dy n div 2 div h mul sub } if def - /g y2 dy mul n 0 gt { dy n div 2 div h mul add } if def - x2 x1 sub w mul 1 add dup 1000 gt { pop 1000 } if - { i dx mul dup y0 moveto - b 0 gt - { gsave c i a cvs dup stringwidth pop - /z2 ED w 0 gt {z1} {z1 z2 add neg} ifelse - h 0 gt {b neg}{z1} ifelse - rmoveto show grestore } if - dup t f moveto - g t L stroke - /i i w add def - } repeat - grestore - gsave - n 0 gt - % DG/SR modification begin - Nov. 7, 1997 - Patch 1 - %{ 1 setlinecap [ 0 dx n div ] dy n div 2 div setdash } - { 1 setlinecap [ 0 dx n div ] dx n div 2 div setdash } - % DG/SR modification end - { 2 setlinecap } ifelse - /i y1 def - /f x1 dx mul n 0 gt { dx n div 2 div w mul sub } if def - /g x2 dx mul n 0 gt { dx n div 2 div w mul add } if def - y2 y1 sub h mul 1 add dup 1000 gt { pop 1000 } if - { newpath i dy mul dup x0 exch moveto - b 0 gt { gsave c i a cvs dup stringwidth pop - /z2 ED - w 0 gt {z1 z2 add neg} {z1} ifelse - h 0 gt {z1} {b neg} ifelse - rmoveto show grestore } if - dup f exch t moveto - g exch t L stroke - /i i h add def - } repeat - grestore -} def -% -/ArcArrow { - /d ED /b ED /a ED - gsave - newpath 0 -1000 moveto clip - newpath - 0 1 0 0 b - grestore - c mul - /e ED - pop pop pop r a e d PtoC y add exch x add - exch r a PtoC y add exch x add exch b pop pop pop pop a e d CLW 8 div c - mul neg d -} def -% -/Ellipse { /mtrx CM def T scale 0 0 1 5 3 roll arc mtrx setmatrix } def -% -/ArcAdjust { %%%% Vincent Guirardel -% given a target length (targetLength) and an initial angle (angle0) [in the stack], -% let M(angle0)=(rx*cos(angle0),ry*sin(angle0))=(x0,y0). -% This computes an angle t such that (x0,y0) is at distance -% targetLength from the point M(t)=(rx*cos(t),ry*sin(t)). -% NOTE: this an absolute angle, it does not have to be added or substracted to angle0 -% contrary to TvZ's code. -% To achieve, this, one iterates the following process: start with some angle t, -% compute the point M' at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]. -% Now take t' (= new angle) so that (0,0) M(t') and M' are aligned. -% -% Another difference with TvZ's code is that we need d (=add/sub) to be defined. -% the value of d = add/sub is used to know on which side we have to move. -% It is only used in the initialisation of the angle before the iteration. -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Input stack: 1: target length 2: initial angle -% variables used : rx, ry, d (=add/sub) -% - /targetLength ED /angle0 ED - /x0 rx angle0 cos mul def - /y0 ry angle0 sin mul def -% we are looking for an angle t such that (x0,y0) is at distance targetLength -% from the point M(t)=(rx*cos(t),ry*sin(t))) -%initialisation of angle (using 1st order approx = TvZ's code) - targetLength 57.2958 mul - angle0 sin rx mul dup mul - angle0 cos ry mul dup mul - add sqrt div -% if initialisation angle is two large (more than 90 degrees) set it to 90 degrees -% (if the ellipse is very curved at the point where we draw the arrow, % -% the value can be much more than 360 degrees !) -% this should avoid going on the wrong side (more than 180 degrees) or go near -% a bad attractive point (at 180 degrees) - dup 90 ge { pop 90 } if - angle0 exch d % add or sub -% maximum number of times to iterate the iterative procedure: -% iterative procedure: takes an angle t on top of stack, computes a -% better angle (and put it on top of stack) - 30 { dup -% compute distance D between (x0,y0) and M(t) - dup cos rx mul x0 sub dup mul exch sin ry mul y0 sub dup mul add sqrt -% if D almost equals targetLength, we stop - dup targetLength sub abs 1e-5 le { pop exit } if -% stack now contains D t -% compute the point M(t') at distance targetLength of (x0,y0) on the semi-line [(x0,y0) M(t)]: -% M(t')= ( (x(t)-x0)*targetLength/d+x0 , (y(t)-y0)*targetLength/d+y0 ) - exch dup cos rx mul x0 sub exch sin ry mul y0 sub -% stack contains: y(t)-y0, x(t)-x0, d - 2 index Div targetLength mul y0 add ry Div exch - 2 index Div targetLength mul x0 add rx Div -% stack contains x(t')/rx , y(t')/ry , d -% now compute t', and remove D from stack - atan exch pop - } repeat -% we don't look at what happened... in particular, if targetLength is greater -% than the diameter of the ellipse... -% the final angle will be around /angle0 + 180. maybe we should treat this pathological case... -% after iteration, stack contains an angle t such that M(t) is the tail of the arrow -% to give back the result as a an angle relative to angle0 we could add the following line: -% angle0 sub 0 exch d -% -% begin bug fix 2006-01-11 -% we want to adjust the new angle t' by a multiple of 360 so that | t'-angle0 | <= 180 -%(we don't want to make the ellipse turn more or less than it should)... -dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifelse -% end bug fix -} def -% -/EllipticArcArrow { - /d ED % is add or sub - /b ED % arrow procedure - /a1 ED % angle - gsave - newpath - 0 -1000 moveto - clip % Set clippath far from arrow. - newpath - 0 1 0 0 b % Draw arrow to determine length. - grestore -% Length of arrow is on top of stack. Next 3 numbers are junk. -% - a1 exch ArcAdjust % Angular position of base of arrow. - /a2 ED - pop pop pop - a2 cos rx mul xOrig add % hv 2007-08-29 x->xOrig - a2 sin ry mul yOrig add % hv 2007-08-29 y->yOrig - a1 cos rx mul xOrig add % - a1 sin ry mul yOrig add % -% Now arrow tip coor and base coor are on stack. - b pop pop pop pop % Draw arrow, and discard coordinates. - a2 CLW 8 div -% change value of d (test it by looking if `` 1 1 d '' gives 2 or not ) - 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse - ArcAdjust -% resets original value of d - 1 1 d 2 eq { /d { sub } def } { /d { add } def } ifelse % Adjust angle to give overlap. -} def -%%------------------ tvz/DG/hv (2004-05-10) end -------------------%% -% -/Rot { CP CP translate 3 -1 roll neg rotate NET } def -% -/RotBegin { - tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if - /TMatrix [ TMatrix CM ] cvx def - /a ED - a Rot /RAngle [ RAngle dup a add ] cvx def -} def -% -/RotEnd { - /TMatrix [ TMatrix setmatrix ] cvx def - /RAngle [ RAngle pop ] cvx def -} def -% -/PutCoor { gsave CP T CM STV exch exec moveto setmatrix CP grestore } def -/PutBegin { /TMatrix [ TMatrix CM ] cvx def CP 4 2 roll T moveto } def -/PutEnd { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def -% -/Uput { - /a ED - add 2 div /h ED 2 - div /w ED - /s a sin def - /c a cos def - /b s abs c abs 2 copy gt dup - /q ED - { pop } { exch pop } ifelse def - /w1 c b div w mul def - /h1 s b div h mul def - q { w1 abs w sub dup c mul abs }{ h1 abs h sub dup s mul abs } ifelse -} def -% -/UUput { - /z ED - abs /y ED - /x ED - q { x s div c mul abs y gt }{ x c div s mul abs y gt } ifelse - { x x mul y y mul sub z z mul add sqrt z add } - { q { x s div } { x c div } ifelse abs - } ifelse - a PtoC - h1 add exch - w1 add exch -} def -% -/BeginOL { - dup (all) eq exch TheOL eq or - { IfVisible not { Visible /IfVisible true def } if } - { IfVisible { Invisible /IfVisible false def } if } ifelse -} def -% -/InitOL { - /OLUnit [ 3000 3000 matrix defaultmatrix dtransform ] cvx def - /Visible { CP OLUnit idtransform T moveto } def - /Invisible { CP OLUnit neg exch neg exch idtransform T moveto } def - /BOL { BeginOL } def - /IfVisible true def -} def -% -end -%-----------------------------------------------------------------------------% -% -% END pstricks.pro - -%%EndProcSet -%%BeginProcSet: pst-algparser.pro 0 0 -% $Id: pst-algparser.pro 26 2008-06-14 11:50:02Z herbert $ -%% -%% PostScript prologue for PSTricks algorithm parser -%% Version 0.01, 2008/01/01 -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN archives -%% in directory macros/latex/base/lppl.txt. -%% -%%-----------------------------------------------------------------------------% -% -/AlgParser { tx@AlgToPs begin AlgToPs end } def % Dominique Rodriguez -% -/tx@CoreAnalyzerDict 100 dict def tx@CoreAnalyzerDict begin -% -% PS ANALYZER FOR ALGEBRAIC EXPRESSION V1.12 -% E->T|E+T -% T->FS|T*FS -% FS -> F | +FS | -FS -% F->P|F^SF -% P->(E)|literal -% literal->number|var|var[E]|func(params) -% params->E|E,param -% number->TOBEFINISHED -% -%% E expression, T term, SF signed factor, F factor, P power -% -%% parser -% -%% str -% -%% C->E<condition_operators>E -%% STR index -> STR index+lenExpr -/AnalyzeCond { AnalyzeExpr ReadCondOp AnalyzeExpr EvalCondOp } def -% -%% analyze Expression List (separator , or | ) -%% STR index -> STR index+lenExpr -%% /AnalyzeListOfE { -%% { NextNonBlankChar pop AnalyzeExpr%%dup Strlen eq { exit } if NextNonBlankChar -%% NextNonBlankChar dup 0 eq { pop exit } if -%% dup 44 ne 1 index 124 ne and { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } if -%% pop NextNonBlankChar dup 0 eq { exit } if 124 ne { PROBLEMCONTACTBILLOU } if 1 add NextNonBlankChar 0 eq {toto} if } loop -%% AnalyzeListOfEPostHook -%% } def -/AnalyzeListOfE { - /NotFirst false def - { NextNonBlankChar pop AnalyzeExpr - NotFirst { EvalListOfExpr } { /NotFirst true def } ifelse - dup Strlen eq { exit } if NextNonBlankChar - dup 44 ne 1 index 124 ne and - { dup 41 ne { PROBLEMCONTACTBILLOU } { pop exit } ifelse } - if pop 1 add } loop - AnalyzeListOfEPostHook -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% E->T|E+T -%% STR index -> STR index+lenExpr -/AnalyzeExpr { - AnalyzePreHook AnalyzeTerm IsEndingExpr - { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } - { { RollOp 1 add NextNonBlankChar pop AnalyzeTerm PreEvalHook EvalAddSub IsEndingExpr { pop exit } if } loop } - ifelse - AnalyzePostHook -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% T->FS|T*FS -%% STR index -/AnalyzeTerm { - AnalyzePreHook AnalyzeSignedFactor IsEndingTerm - { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } - { { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor PreEvalHook EvalMulDiv IsEndingTerm { pop exit } if} loop } - ifelse - AnalyzePostHook -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% FS -> F | +FS | -FS -%% STR index -/AnalyzeSignedFactor { - AnalyzePreHook 2 copy get dup IsUnaryOp - { RollOp 1 add NextNonBlankChar pop AnalyzeSignedFactor EvalUnaryOp } - { pop AnalyzeFactor } - ifelse AnalyzePostHook -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% F->P|F^P -%% STR index -/AnalyzeFactor { - AnalyzePreHook AnalyzePower IsEndingFactor - { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse } - { { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower IsEndingFactor { pop exit } if} loop } - ifelse AnalyzePostHook -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% P->(E)|literal -%% STR index -/AnalyzePower { - %% depending of first char either a number, or a literal - 2 copy get dup 40 eq%%an open par - { pop 1 add NextNonBlankChar pop AnalyzeExpr 1 add NextNonBlankChar pop } - { AnalyzeLiteral } - ifelse -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% STR index STR[index] -> STR index -%/AnalyzeLiteral { IsNumber { EvalNumber } { EvalLiteral } ifelse } def -/AnalyzeLiteral { dup IsUnaryOp exch IsNumber or { EvalNumber } { EvalLiteral } ifelse } def%%dr 09102006 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% recognize + or - -%% chr -> T/F -/IsUnaryOp { dup 43 eq exch 45 eq or } bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% a number can contain only : 0123456789. -%% chr -> T/F -/IsNumber { dup 48 ge exch dup 57 le 3 -1 roll and exch 46 eq or } bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% STR index -> STR index number -%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? -%% STR index -> STR index' number -/ReadNumber { - exch dup 3 -1 roll dup 3 1 roll - %%read mantissa - { 1 add 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsNumber not { exit } if pop } loop - dup 101 eq exch 69 eq or - %%% there is a "e" or "E" -> read exponant - { 1 add 2 copy get dup IsUnaryOp - { pop 1 add 2 copy get } if - { IsNumber not { exit } if 1 add 2 copy get } loop } - if - dup 4 1 roll - 3 -1 roll exch 1 index sub getinterval -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% a number can contain only : 0123456789. -%% chr -> T/F -/IsCondOp { dup 30 eq exch dup 60 ge exch 62 le and or } bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% STR index -> STR index number -%% a number can be of the form [0-9]*.[0-9]*\([eE][+-]?[0-9]+\)? -%% STR index -> STR index' number -/ReadCondOp { - NextNonBlankChar 1 index 4 1 roll - { IsCondOp not { exit } if 1 add 2 copy get } loop - 2 copy 5 -1 roll - exch 1 index sub getinterval 3 1 roll -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% a literal can contain only : 0123456789. -%% chr -> T/F -/IsLiteral {% - dup 48 ge exch dup 57 le 3 -1 roll and exch - dup 65 ge exch dup 90 le 3 -1 roll and 3 -1 roll or exch - dup 97 ge exch 122 le and or } bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% a literal can be of the form [a-zA-Z][a-zA-Z0-9]*\(\((Expression)\)|\(\[Expression\]\)\)? -%% STR index -> literal STR index' nextchr -/ReadLiteral { - exch dup 3 -1 roll dup 3 1 roll - %%read literal core - { 2 copy dup Strlen eq { pop pop 0 exit } if get dup IsLiteral not { exit } if pop 1 add } loop - 4 1 roll dup 5 1 roll 3 -1 roll exch 1 index sub getinterval 4 1 roll -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% expr is ended by end of str or a clpar -%% STR index -> STR index STR[index] T/F -/IsEndingExpr {% - 2 copy dup Strlen eq - %% if end of str is reached -> end ! - { pop pop 0 true } - %% ending chr -> clpar, comma, |, <, >, =, !, - {get dup dup 41 eq - exch dup 124 eq - exch dup 93 eq - exch dup 44 eq - exch dup 30 eq - exch dup 60 ge exch 62 le and or or or or or} - ifelse } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% expr is ended by end of str or a +- -%% STR index -> STR index STR[index] T/F -/IsEndingTerm { IsEndingExpr { true } { dup dup 43 eq exch 45 eq or } ifelse } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% expr is ended by end of str or */ -%% STR index -> STR index STR[index] T/F -/IsEndingFactor { IsEndingTerm { true } { dup dup 42 eq exch 47 eq or } ifelse } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% expr is ended by end of str or ^ -%% STR index -> STR index STR[index] T/F -/IsEndingPower { IsEndingFactor { true } { dup 94 eq } ifelse } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% STR index -> STR index STR[index] -/NextNonBlankChar { { dup Strlen eq { 0 exit } if 2 copy get dup neBlkChar { exit } if pop 1 add } loop } bind def -/neBlkChar { dup 32 ne exch dup 10 ne exch 9 ne and and } bind def -%%%%%%%%%%%%%%%%%%%%%%%% -%% DEBUG -/BRK {false} def -/BRKtrue {/BRK true def} def -/BRKStop {BRK {BRKtoto} if } def -/BRKEvalStop {BRK exch if } def -/BRKBRK2true {BRK {BRK2true} if } def -/BRK2 {false} def -/BRK2true {/BRK2 true def} def -/BRK2Stop {BRK2 {BRK2toto} if } def/BRK {false} def -end -% -%-------------------------------------------------------------------------------% -% -/tx@AlgToPs 12 dict def tx@AlgToPs begin -% -%% algExpr -> PSVector -/AlgToPs { tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE pop pop EndingSequence end } def -/EndingSequence { ExpressionVector aload length /end cvx exch 1 add array astore } def -/InitParser { /ExpressionVector [ /tx@AddMathFunc cvx /begin cvx ] def dup length /Strlen exch def 0 } def -/Strlen 0 def -/EvalListOfExpr {} def% -/EvalNumber {% - ReadNumber cvr /ExpressionVector ExpressionVector aload length dup 3 add -1 roll cvx - exch 1 add array astore def NextNonBlankChar pop } def -/EvalAddSub {% - /ExpressionVector ExpressionVector aload length dup 5 add -1 roll - 43 eq { /add } { /sub } ifelse cvx exch 1 add array astore def -} def -/EvalMulDiv {% - /ExpressionVector ExpressionVector aload length dup 5 add -1 roll - 42 eq { /mul } { /div } ifelse cvx exch 1 add array astore def -} def -/EvalPower {% - /ExpressionVector ExpressionVector aload length dup 5 add -1 roll - pop /exp cvx exch 1 add array astore def -} def -/EvalLiteral {% - ReadLiteral - dup 40 eq%%% there is an open par -> function call - { pop 2 index - dup (Sum) eq { EvalSum } - { dup (IfTE) eq { EvalCond } - { dup (Derive) eq { pop EvalDerive } - { pop 1 add NextNonBlankChar pop AnalyzeListOfE 2 index TrigoFunc - /ExpressionVector ExpressionVector aload length dup 5 add -1 roll cvn cvx - exch 1 add array astore def 1 add NextNonBlankChar pop } ifelse } ifelse} ifelse } - { /ExpressionVector ExpressionVector aload length dup 6 add -1 roll cvn cvx exch 1 add array astore def - dup 91 eq%%% there is an open bracket -> vector element - { pop 1 add NextNonBlankChar pop AnalyzeExpr - /ExpressionVector ExpressionVector aload length /cvi cvx exch /get cvx exch 2 add array astore def 1 add } - { pop NextNonBlankChar pop } - ifelse} - ifelse -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% the derive function : Derive(n,f(x)) -%% firstparindex lastparindex -> -/EvalDerive { - %% manage the function descripiton - 1 add ReadNumber 3 1 roll NextNonBlankChar - 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if - 1 add NextNonBlankChar pop - 3 -1 roll cvi - dup 0 eq - { pop AnalyzeExpr 3 -1 roll pop 1 add } - { 1 sub 3 1 roll (x) exch tx@Derive begin DeriveIndexed end 4 -1 roll - { (x) tx@Derive begin Derive end } repeat - ExpressionVector exch /ExpressionVector [] def - AlgToPs aload length - /ExpressionVector 1 index 3 add -1 roll aload length dup 3 add -1 roll /l2 exch def /l1 exch def - l1 l2 add 1 add l2 neg roll l1 l2 add array astore def 3 -1 roll pop 1 add - 1 index length /Strlen exch def } ifelse -} def -/EvalSum {% - pop 1 add NextNonBlankChar pop - %% read the variable name - ReadLiteral pop NextNonBlankChar - 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if - %% read the initial value - 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll - 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if - %% read the increment value - 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll - 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if - %% read the limit value - 1 add NextNonBlankChar pop ReadNumber cvi 3 1 roll - 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if - /ExpressionVector ExpressionVector aload length dup 7 add -3 roll 0 4 1 roll - 5 -1 roll 4 add array astore def - %% keep ExpressionVector for later and create a new one for internal Sum computation - ExpressionVector 3 1 roll /ExpressionVector [ 6 -1 roll cvn /exch cvx /def cvx ] def - 1 add NextNonBlankChar pop AnalyzeExpr - %% add each term - /ExpressionVector ExpressionVector aload length 1 add /add cvx exch array astore def - /ExpressionVector 4 -1 roll aload length ExpressionVector cvx /for cvx 3 -1 roll 2 add - array astore def 3 -1 roll pop 1 add -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Convert to radians if trigo function call -%% (name) -> -/TrigoFunc { - dup (cos) eq 1 index (sin) eq or exch (tan) eq or - { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add - array astore def - } if -} def -/EvalCond {% - pop 1 add AnalyzeCond NextNonBlankChar - 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if - ExpressionVector 3 1 roll /ExpressionVector [] def - 1 add AnalyzeExpr ExpressionVector 3 1 roll /ExpressionVector [] def - NextNonBlankChar 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if - 1 add AnalyzeExpr - NextNonBlankChar 41 ne { ANALYZER_ERROR_missing_ending parenthesis_in_IfTE } if - ExpressionVector - /ExpressionVector 6 -1 roll aload length dup - 6 add -1 roll cvx exch dup 4 add -1 roll cvx /ifelse cvx 3 -1 roll 3 add array astore def - 1 add 3 -1 roll pop -} def -%% CondOp STR index -/EvalCondOp {% - 3 -1 roll - dup (=) eq { /eq } {% - dup (<) eq { /lt } {% - dup (>) eq { /gt } {% - dup (>=) eq { /ge } {% - dup (<=) eq { /ge } {% - dup (!=) eq { /ne } { ERROR_non_valid_conditional_operator } - ifelse } ifelse } ifelse } ifelse } ifelse } ifelse - cvx exch pop - /ExpressionVector ExpressionVector aload length dup 3 add -1 roll exch 1 add array astore def } def -/EvalUnaryOp { - 3 -1 roll 45 eq { /ExpressionVector ExpressionVector aload length /neg cvx exch 1 add array astore def } if -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% H O O K S -/AnalyzePreHook {} bind def -/PreEvalHook {} bind def -/AnalyzeListOfEPostHook {} bind def -/AnalyzePostHook {} def -/RollOp { 3 1 roll } bind def -end %tx@CoreAnalyzerDict -% -%--------------------------------------------------------------------% -% -/tx@Derive 41 dict def tx@Derive begin -%%increase ^^ for each function added -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% algExpr variable -> PSVector -/Derive {% - 10240 string 3 1 roll 0 3 1 roll - /Variable exch def - tx@CoreAnalyzerDict begin InitParser AnalyzeListOfE end -} def -/Strlen 0 def -/InitParser { dup length /Strlen exch def 0 } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% algExpr variable index -> PSVector -/DeriveIndexed {% - 3 1 roll 10240 string 3 1 roll 0 3 1 roll - /Variable exch def - tx@CoreAnalyzerDict begin InitParser pop 4 -1 roll AnalyzeExpr 4 -2 roll pop pop 4 -2 roll exch pop end -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% (u,v)'=-(u',v') -/EvalListOfExpr {% - 4 2 roll 2 copy 9 -1 roll dup length 4 1 roll putinterval add AddPipe - 2 copy 7 -1 roll dup length 4 1 roll putinterval add - 6 -2 roll pop pop - 2 copy pop 0 6 2 roll GetIntervalNewStr 5 1 roll 2 copy 0 exch getinterval 6 1 roll } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% (-u)'=-(u') -/EvalUnaryOp { - 4 -2 roll 4 index (0) eq - { (0) StrConcat 7 -1 roll pop } - { 7 -1 roll 45 eq - { AddSub AddOpPar true } { false } ifelse - 3 1 roll 5 index StrConcat 3 -1 roll { AddClPar } if } ifelse - 2 copy pop 0 6 2 roll GetIntervalNewStr - 7 -2 roll pop pop 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% (number)'=0 -/EvalNumber { ReadNumber (0) 6 2 roll } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% (u+v)'=u'+v' -/EvalAddSub {% - 7 index dup (0) eq - { pop true }%% du=0 nothing added - { dup length exch 5 index 5 index 3 -1 roll putinterval 4 -1 roll add 3 1 roll false } - ifelse - 5 index dup (0) eq - { pop { (0) } { 4 -2 roll 2 copy pop 0 6 2 roll GetIntervalNewStr } ifelse }%%dv=0 - { exch - { 5 -2 roll 7 index 45 eq { AddSub } if false } %%nothing yet added - { 5 -2 roll 7 index 43 eq%%something yet added - { AddAdd false } { AddSub AddOpPar true } ifelse } - ifelse 11 1 roll - 3 -1 roll StrConcat 10 -1 roll { AddClPar } if - 2 copy pop 0 6 2 roll GetIntervalNewStr } - ifelse - mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% (u*v)' or (u/v)' -/EvalMulDiv { 6 index 42 eq {EvalMul} {EvalDiv} ifelse } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% (u*v)'=u'*v+u*v' -/EvalMul {% - 4 -2 roll 7 index dup (0) eq - { pop false }%%du=0 - { (1) eq%%du=1 - { false } - { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse - 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if - true }%%du!=0 - ifelse - 5 1 roll 5 index (0) eq - { 5 -1 roll not { (0) StrConcat } if }%%dv=0 - { 5 -1 roll { AddAdd } if - 4 index (1) eq - { 8 index StrConcat } - { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } - ifelse - }%%dv!=0 - ifelse - 2 copy pop 0 6 2 roll GetIntervalNewStr - mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% (u/v)'=(u'*v-u*v')/v^2 -/EvalDiv {% - 4 -2 roll - 4 index (0) eq%%dv=0 -> u'/v - { 7 index (0) eq { (0) StrConcat } { AddOpPar 7 index StrConcat AddClPar AddDiv 5 index StrConcat } ifelse } - { 7 index dup (0) eq - { pop }%%du=0 - { (1) eq%%du=1 - { false } - { AddOpPar 7 index StrConcat AddClPar AddMul AddOpPar true } ifelse - 3 1 roll 6 index StrConcat 3 -1 roll { AddClPar } if}%%du!=0 - ifelse - AddSub - 4 index (1) eq - { 8 index StrConcat } - { AddOpPar 8 index StrConcat AddClPar AddMul AddOpPar 4 index StrConcat AddClPar } - ifelse - %}%%dv!=0 - 2 copy GetIntervalNewStr 3 1 roll pop 0 AddOpPar 3 -1 roll StrConcat AddClPar - AddDiv AddOpPar 5 index StrConcat AddClPar 2 copy (^2) putinterval 2 add } - ifelse - 2 copy pop 0 6 2 roll GetIntervalNewStr - mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% str1 index str2 -> str1 index -/StrConcat { dup length 4 2 roll 2 copy 6 -1 roll putinterval 3 -1 roll add } bind def -/GetIntervalNewStr { 0 exch getinterval dup length string copy } bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% (u^v)'=(u^v)'=u'vu^(v-1)+v'u^(v)ln(u) -/EvalPower {% - 4 -2 roll 7 index (0) eq - {%%if du=0 then (u^v)'=v'ln(u)u^v - 4 index (0) eq - { (0) StrConcat }%%if dv=0 then (u^v)'=0 - { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if - 8 index (e) ne { (ln\() StrConcat 8 index StrConcat (\)*) StrConcat } if - AddOpPar 8 index StrConcat (\)^\() StrConcat 5 index StrConcat AddClPar } ifelse - } - {%%du!=0 - 4 index (0) eq - {%%if dv=0 then (u^v)'=vu'u^(v-1) - 5 index dup IsStrNumber - { dup (0) eq - { StrConcat } - { dup dup (1) eq exch (1.0) eq or - { StrConcat } - { StrConcat - 7 index dup (1) ne exch (1.0) ne and%%%dr 09102006 insert du if <> 1 - { (*\() StrConcat 7 index StrConcat (\)) StrConcat } if%%%dr 09102006 - (*\() StrConcat 8 index StrConcat (\)) StrConcat - 5 index dup dup (2) eq exch (2.0) eq or - { pop } { cvr 1 sub 20 string cvs 3 1 roll (^) StrConcat 3 -1 roll StrConcat } ifelse } ifelse } ifelse } - { pop AddOpPar 5 index StrConcat (\)*\() StrConcat 8 index StrConcat (\)^\() StrConcat - 5 index StrConcat (-1\)) StrConcat } ifelse - } - {%%if dv!=0 and du!=0 then (u^v)'=u'vu^(v-1)+v'u^(v)ln(u) - 7 index (1) ne { AddOpPar 7 index StrConcat (\)*) StrConcat } if - AddOpPar 5 index StrConcat (\)*\() StrConcat - 8 index StrConcat (\)^\() StrConcat - 5 index StrConcat (-1\)+\() StrConcat - 4 index (1) ne { 4 index StrConcat (\)*\() StrConcat } if - 8 index StrConcat (\)^\() StrConcat - 5 index StrConcat (\)*ln\() StrConcat - 8 index StrConcat AddClPar - } ifelse - } ifelse - 2 copy pop 0 6 2 roll GetIntervalNewStr - mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% str -> true/false -/IsStrNumber {% - true exch - { dup 48 lt exch dup 57 gt 3 -1 roll or - exch dup 46 ne%%. - exch dup 43 ne%%+ - exch 45 ne%%- - and and and { pop false } if } forall -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% literal switch -> func call, vector, variables -/EvalLiteral {% - ReadLiteral dup 40 eq%%% there is an open par -> function call - { pop (EvalFunc_ ) 9 4 index StrConcat 0 exch getinterval cvn cvx exec } - { dup 91 eq%%% there is an open bracket -> vector element - { ERROR_vector_not_yet_implemented } - { pop EvalVariable } - ifelse } - ifelse -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% first last parpos Expr[first:parpos-1] -> -/EvalVariable { 2 index Variable eq { (1) } { (0) } ifelse 4 -1 roll exch 6 2 roll } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% (f(u))'=u'f'(u) -/EvalFunc { - 4 2 roll 4 index (1) ne - { AddOpPar 4 index StrConcat (\)*) StrConcat } if - (Eval ) 4 8 index StrConcat 0 exch getinterval cvn cvx exec - 2 copy pop 0 6 2 roll GetIntervalNewStr - mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Func derivative -> Eval<func> -/EvalFunc_sin {% - PreCommonFunc - { (cos\() StrConcat 5 index StrConcat AddClPar } if - PostCommonFunc } def -/EvalFunc_cos {% - PreCommonFunc - { (\(-sin\() StrConcat 5 index StrConcat (\)\)) StrConcat } if - PostCommonFunc } def -/EvalFunc_tan {% - PreCommonFunc - { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/cos\() StrConcat 5 index StrConcat (\)^2) StrConcat } if - PostCommonFunc } def -/EvalFunc_asin {% - PreCommonFunc - { (1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if - PostCommonFunc } def -/EvalFunc_acos {% - PreCommonFunc - { (-1/sqrt\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if - PostCommonFunc } def -/EvalFunc_atg {% - PreCommonFunc - { (1/\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if - PostCommonFunc } def -/EvalFunc_ln {% - PreCommonFunc - { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\() StrConcat 5 index StrConcat AddClPar } if - PostCommonFunc } def -/EvalFunc_exp {% - PreCommonFunc - { (exp\() StrConcat 5 index StrConcat AddClPar } if - PostCommonFunc } def -/EvalFunc_sqrt {% - PreCommonFunc - { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/\(2*sqrt\() StrConcat 5 index StrConcat (\)\)) StrConcat } if - PostCommonFunc } def -/EvalFunc_Fact {% - PreCommonFunc { ERROR_no_variable_expression_in_Fact } if - PostCommonFunc } def -/EvalFunc_sh {% - PreCommonFunc - { (ch\() StrConcat 5 index StrConcat AddClPar } if - PostCommonFunc } def -/EvalFunc_ch {% - PreCommonFunc - { (sh\() StrConcat 5 index StrConcat AddClPar } if - PostCommonFunc } def -/EvalFunc_th {% - PreCommonFunc - { dup 0 eq { (1) StrConcat } { 1 sub } ifelse (/ch\() StrConcat 5 index StrConcat (\)^2) StrConcat } if - PostCommonFunc } def -/EvalFunc_Argsh {% - PreCommonFunc - { (1/sqrt\(1+\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if - PostCommonFunc } def -/EvalFunc_Argch {% - PreCommonFunc - { (1/sqrt\(\() StrConcat 5 index StrConcat (\)^2-1\)\)) StrConcat } if - PostCommonFunc } def -/EvalFunc_Argth {% - PreCommonFunc - { (1/\(1-\() StrConcat 5 index StrConcat (\)^2\)\)) StrConcat } if - PostCommonFunc } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -/PreCommonFunc { - 1 add NextNonBlankChar pop 3 -1 roll 5 1 roll AnalyzeExpr 1 add NextNonBlankChar pop - 4 2 roll 4 index (0) eq - { (0) StrConcat false } - { 4 index (1) ne { AddOpPar 4 index StrConcat (\)*) StrConcat } if true } ifelse -} def -/PostCommonFunc { - 2 copy pop 0 6 2 roll GetIntervalNewStr - mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll -} def -/EvalFunc_Derive {% - 1 add ReadNumber cvi 1 add dup cvr log 1 add cvi string cvs - 4 -1 roll pop 5 1 roll 1 add NextNonBlankChar pop AnalyzeExpr 1 add - 4 -2 roll (Derive\() StrConcat 7 -1 roll StrConcat (,) StrConcat 6 -1 roll StrConcat AddClPar - 2 copy pop 0 6 2 roll GetIntervalNewStr 6 -1 roll pop 2 index 6 index dup 4 index exch sub getinterval - exch 6 2 roll } def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% literal switch -> func call, vector, variables -/EvalFunc_Sum {% - 1 add NextNonBlankChar pop - %% read the variable name - ReadLiteral pop 3 -1 roll pop NextNonBlankChar - 44 ne { ANALYZER_ERROR_missing_first_comma_in_Sum } if - %% read the initial value - 1 add NextNonBlankChar pop ReadNumber pop - 2 copy get 44 ne { ANALYZER_ERROR_missing_second_comma_in_Sum } if - %% read the increment value - 1 add NextNonBlankChar pop ReadNumber pop - 2 copy get 44 ne { ANALYZER_ERROR_missing_third_comma_in_Sum } if - %% read the limit value - 1 add NextNonBlankChar pop ReadNumber pop - 2 copy get 44 ne { ANALYZER_ERROR_missing_fourth_comma_in_Sum } if - 1 add NextNonBlankChar pop dup 6 1 roll 3 -1 roll pop AnalyzeExpr 1 add NextNonBlankChar pop - 4 -2 roll 3 index 8 index dup 9 index exch sub getinterval StrConcat - 4 index StrConcat AddClPar - 2 copy pop 0 6 2 roll GetIntervalNewStr - mark 9 -3 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% literal switch -> func call, vector, variables -/EvalFunc_IfTE {% - 3 -1 roll pop 1 add NextNonBlankChar pop SkipCond - NextNonBlankChar - 44 ne { ANALYZER_ERROR_missing_first_comma_in_IfTE } if - 1 add NextNonBlankChar pop dup 5 1 roll - AnalyzeExpr NextNonBlankChar - 44 ne { ANALYZER_ERROR_missing_second_comma_in_IfTE } if - 1 add NextNonBlankChar pop - AnalyzeExpr 1 add NextNonBlankChar pop - 4 -2 roll 3 index 10 index dup 11 index exch sub getinterval StrConcat - 6 index StrConcat (,) StrConcat 4 index StrConcat AddClPar - 2 copy pop 0 6 2 roll GetIntervalNewStr - mark 11 -5 roll cleartomark 2 index 6 index dup 4 index exch sub getinterval exch 6 2 roll -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% advance in str until a comma is found (no error detection!) -%% str index -> str index' -/SkipCond { { 1 add 2 copy get 44 eq {exit } if } loop } bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Convert to radians if trigo function call -%% (name) -> -/TrigoFunc { - dup (cos) eq 1 index (sin) eq or exch (tan) eq or - { /ExpressionVector ExpressionVector aload length Pi /div cvx 180 /mul cvx 5 -1 roll 4 add - array astore def - } if -} def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% No derivative for condition.... -/EvalCondOp { 3 -1 roll pop } bind def -/PutIntervalOneAdd {putinterval 1 add} bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Add open parenthesis in string at the given index -%% str index -> str index+1 -/AddOpPar {2 copy (\() PutIntervalOneAdd} bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Add close parenthesis in string at the given index -%% str index -> str index+1 -/AddClPar {2 copy (\)) PutIntervalOneAdd} bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Add 0 in string at the given index -%% str index -> str index+1 -/AddZero {2 copy (0) PutIntervalOneAdd} bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Add open parenthesis in string at the given index -%% str index -> str index+1 -/AddMul {2 copy (*) PutIntervalOneAdd} bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Add open parenthesis in string at the given index -%% str index -> str index+1 -/AddDiv {2 copy (/) PutIntervalOneAdd} bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Add a plus sign in string at the given index -%% str index -> str index+1 -/AddAdd {2 copy (+) PutIntervalOneAdd} bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Add a minus sign in string at the given index -%% str index -> str index+1 -/AddSub {2 copy (-) PutIntervalOneAdd} bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% Add a pipe sign in string at the given index -%% str index -> str index+1 -/AddPipe {2 copy (|) PutIntervalOneAdd} bind def -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% H O O K S -/AnalyzePreHook { dup 5 1 roll } bind def -/PreEvalHook {} def -/AnalyzePostHook { 7 -1 roll pop } bind def -/AnalyzeListOfEPostHook { 6 -1 roll mark 6 1 roll cleartomark } bind def -/RollOp { 5 1 roll } bind def -end%%%tx@CoreAnalyzerDict -/tx@AddMathFunc 12 dict def tx@AddMathFunc begin -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% NEW FUNC -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% function arcsine in radians asin(x)=atan(x/sqrt(1-x^2)) -%% x -> theta -/asin {% - dup abs 1 gt { EQDFasinrangeerror } if - dup dup dup mul 1 exch sub sqrt atan exch 0 lt { 360 sub } if DegtoRad -} def -%% function arccosine in radians acos(x)=atan(sqrt(1-x^2)/x) -%% x -> theta -/acos {% - dup abs 1 gt { EQDFacosrangeerror } if - dup dup mul 1 exch sub sqrt exch atan DegtoRad -} def -%% function arctangent in radians -%% x -> theta -/atg { 1 atan dup 90 gt { 360 sub } if DegtoRad } bind def -%% HYPERBOLIC FUNCTIONS -/sh { dup Ex exch neg Ex sub 2 div } def -/ch { dup Ex exch neg Ex add 2 div } def -/th { dup sh exch ch div } def -/Argsh { dup dup mul 1 add sqrt add ln } def -/Argch { dup dup mul 1 sub sqrt add ln } def -/Argth { dup 1 add exch 1 exch sub div ln 2 div } def -%% modified exponential funtion for 0 -%% x n -> x^n -/Exp { dup 0 eq { pop pop 1 } { exp } ifelse } bind def -%% modified exponential funtion for 0 -%% x -> e^x -/Ex { Euler exch exp } bind def -%% -%% factorial function -%% n -> n! -/Fact { 1 exch 2 exch 1 exch { mul } for } bind def -/fact { Fact } bind def -end -% -% END pstricks.pro - -%%EndProcSet -%%BeginProcSet: pst-dots.pro 0 0 -% $Id: pst-dots.pro 11 2008-01-24 13:37:27Z herbert $ -% -%% PostScript prologue for pstricks.tex. -%% Version 2.01, 2008/04/18 -%% -%% For distribution, see pstricks.tex. -%% -%% Timothy Van Zandt <tvz@Princeton.EDU> -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN archives -%% in directory macros/latex/base/lppl.txt. -%% -%% Modified by Etienne Riga - Dec. 16, 1999 -%% Modified by Etienne Riga - 2005/01/01 (er) -%% to add /Diamond, /SolidDiamond and /BoldDiamond -%% Modified by Herbert Voss (hv) - 2008/04/17 -% -10 dict dup begin % hold local - /FontType 3 def - /FontMatrix [.001 0 0 .001 0 0] def - /FontBBox [-571.5 -742.5 571.5 742.5] def -% /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph - /Encoding 256 array def - 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef - Encoding % replace with given dot names - dup (b) 0 get /Bullet put % get the numerical position of b in ASCII -% % and save /Bullet at this place in Encoding - dup (c) 0 get /Circle put - dup (C) 0 get /BoldCircle put % 67 - dup (u) 0 get /SolidTriangle put - dup (t) 0 get /Triangle put - dup (T) 0 get /BoldTriangle put - dup (r) 0 get /SolidSquare put - dup (s) 0 get /Square put - dup (S) 0 get /BoldSquare put - dup (q) 0 get /SolidPentagon put - dup (p) 0 get /Pentagon put - dup (P) 0 get /BoldPentagon put -%%% - dup (k) 0 get /Asterisk put - dup (K) 0 get /BoldAsterisk put - dup (J) 0 get /SolidAsterisk put - dup (h) 0 get /Hexagon put - dup (H) 0 get /BoldHexagon put - dup (G) 0 get /SolidHexagon put - dup (f) 0 get /Octogon put % 2008-04-18 hv - dup (F) 0 get /BoldOctogon put % 2008-04-18 hv - dup (g) 0 get /SolidOctogon put % 2008-04-18 hv - dup (a) 0 get /Add put - dup (A) 0 get /BoldAdd put % 65 - dup (x) 0 get /Mul put - dup (X) 0 get /BoldMul put - dup (m) 0 get /Oplus put - dup (M) 0 get /BOplus put - dup (e) 0 get /SolidOplus put - dup (n) 0 get /Otimes put - dup (N) 0 get /BOtimes put - dup (E) 0 get /SolidOtimes put - dup (i) 0 get /Bar put - dup (I) 0 get /BoldBar put - dup (l) 0 get /SolidDiamond put - dup (d) 0 get /Diamond put - (D) 0 get /BoldDiamond put -%%% -/CharProcs 47 dict def -CharProcs begin - /CirclePath {0 0 500 0 360 arc closepath} def - /Bullet {CirclePath fill} def - /Circle {CirclePath .9 .9 scale CirclePath eofill} def - /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def - /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def - /SolidTriangle {TrianglePath fill} def - /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def - /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def - /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def - /SolidSquare {SquarePath fill} def - /Square {SquarePath .89 .89 scale SquarePath eofill} def - /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def - /PentagonPath { - -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto - 0 574.7 lineto -546.6 177.6 lineto closepath - } def - /SolidPentagon {PentagonPath fill} def - /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def - /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def -%-------------- hv begin 2004/07/25 from: er 2003/03/24 - /HexagonPath { - 0 550 moveto -476 275 lineto -476 -275 lineto - 0 -550 lineto 476 -275 lineto 476 275 lineto closepath - } def - /SolidHexagon {HexagonPath fill} def - /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def - /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def -% 2008-04-18 hv - /OctogonPath { - 228 550 moveto 7 { -456 0 rlineto 45 rotate } repeat - closepath - } def - /SolidOctogon { OctogonPath fill } def - /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def - /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def -% - /AsteriskPath { - 20 0 moveto 10 250 180 500 0 500 curveto - -180 500 -10 250 -20 0 curveto closepath - } def - /Asterisk { - AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath - 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill - } def -% - /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def - /BoldAsteriskPath { - 50 30 cos 100 mul moveto Basterp - 60 rotate Basterp 60 rotate Basterp - 60 rotate Basterp 60 rotate Basterp - 60 rotate Basterp closepath - } def - /BoldAsterisk {BoldAsteriskPath fill} def - /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def - /CrossPath { - 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto - -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto - 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath - } def - /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto - -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto - 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath - } def - /Add {CrossPath fill} def - /Mul {45 rotate CrossPath fill} def - /BoldAdd {BoldCrossPath fill} def - /BoldMul {45 rotate BoldCrossPath fill} def - /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def - /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def - /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def - /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def - /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def - /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def - /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def - /Bar {BarPath fill} def - /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def - /BoldBar {BoldBarPath fill} def - /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def - /SolidDiamond {DiamondPath fill} def - /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def - /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def -%%% - /.notdef { } def -end -% -/BuildGlyph { - exch - begin -% Metrics 1 index get exec 0 - 0 0 -% BBoxes 3 index get exec - -1000 -1000 1000 1000 -% -571.5 -742.5 571.5 742.5 - setcachedevice - CharProcs begin load exec end - end -} def -% -/BuildChar { - 1 index /Encoding get exch get - 1 index /BuildGlyph get exec -} bind def - -end -/PSTricksDotFont exch definefont pop - -%% end - -%%EndProcSet -%%BeginProcSet: xcolor.pro 0 0 -%! -%% -%% This is file `xcolor.pro', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% xcolor.dtx (with options: `dvips') -%% -%% IMPORTANT NOTICE: -%% -%% For the copyright see the source file. -%% -%% Any modified versions of this file must be renamed -%% with new filenames distinct from xcolor.pro. -%% -%% For distribution of the original source see the terms -%% for copying and modification in the file xcolor.dtx. -%% -%% This generated file may be distributed as long as the -%% original source files, as listed above, are part of the -%% same distribution. (The sources need not necessarily be -%% in the same archive or directory.) -%% -%% xcolor.pro (PostScript/dvips header file) -%% [2007/01/21 v2.11 LaTeX color extensions (UK)] -%% -%% ---------------------------------------------------------------- -%% Copyright (C) 2003-2007 by Dr. Uwe Kern <xcolor at ukern dot de> -%% ---------------------------------------------------------------- -%% -userdict begin -/setcmycolor{0 setcmykcolor}def -/XCbd{bind def}bind def -/XCed{exch def}XCbd -/XCdef{exch dup TeXDict exch known{pop pop}{XCed}ifelse}XCbd -/XCsetcolor{cvx counttomark array astore cvx exch pop XCdef}XCbd -/XCcmy{mark exch exec/setcmycolor XCsetcolor}XCbd -/XCcmyk{mark exch exec/setcmykcolor XCsetcolor}XCbd -/XCgray{mark exch exec/setgray XCsetcolor}XCbd -/XChsb{mark exch exec/sethsbcolor XCsetcolor}XCbd -/XCrgb{mark exch exec/setrgbcolor XCsetcolor}XCbd -/XCfixnormalscale{/normalscale{Resolution 72 div VResolution 72 div neg - scale magscale{DVImag dup scale}if}def}def -/XC!b{save XCfixnormalscale}XCbd -/XC!e{restore}XCbd -/XCsp2bp{1 65781.76 div dup scale}XCbd -/XCsetline - {setlinewidth [] 0 setdash 2 setlinecap 0 setlinejoin 4 setmiterlimit}XCbd -/XCboxframe{/d XCed/h XCed/w XCed/l XCed w 0 gt{h d neg gt{l 0 gt - {XCsp2bp l XCsetline - l 2 div dup translate - 0 d neg w l sub h l sub d add rectstroke}if}if}if}XCbd -/XCcolorblock{/d XCed/h XCed/w XCed w 0 gt{h d neg gt - {XCsp2bp 0 XCsetline - 0 d neg w h d add rectfill}if}if}XCbd -end -%% End of file `xcolor.pro'. - -%%EndProcSet -%%BeginProcSet: wieesgeht.xcp 0 0 -%! -TeXDict begin -/XC@red{0 1 1 0}XCcmyk -/XC@green{1 0 1 0}XCcmyk -/XC@blue{1 1 0 0}XCcmyk -/XC@brown{0 0.25 0.5 0.25}XCcmyk -/XC@lime{0.25 0 1 0}XCcmyk -/XC@orange{0 0.5 1 0}XCcmyk -/XC@pink{0 0.25 0.25 0}XCcmyk -/XC@purple{0 0.75 0.5 0.25}XCcmyk -/XC@teal{0.5 0 0 0.5}XCcmyk -/XC@violet{0 0.5 0 0.5}XCcmyk -/XC@cyan{1 0 0 0}XCcmyk -/XC@magenta{0 1 0 0}XCcmyk -/XC@yellow{0 0 1 0}XCcmyk -/XC@olive{0 0 1 0.5}XCcmyk -/XC@black{0 0 0 1}XCcmyk -/XC@darkgray{0 0 0 0.75}XCcmyk -/XC@gray{0 0 0 0.5}XCcmyk -/XC@lightgray{0 0 0 0.25}XCcmyk -/XC@white{0 0 0 0}XCcmyk -/GreenYellow{0.15 0 0.69 0}XCcmyk -/Yellow{0 0 1 0}XCcmyk -/Goldenrod{0 0.1 0.84 0}XCcmyk -/Dandelion{0 0.29 0.84 0}XCcmyk -/Apricot{0 0.32 0.52 0}XCcmyk -/Peach{0 0.5 0.7 0}XCcmyk -/Melon{0 0.46 0.5 0}XCcmyk -/YellowOrange{0 0.42 1 0}XCcmyk -/Orange{0 0.61 0.87 0}XCcmyk -/BurntOrange{0 0.51 1 0}XCcmyk -/Bittersweet{0 0.75 1 0.24}XCcmyk -/RedOrange{0 0.77 0.87 0}XCcmyk -/Mahogany{0 0.85 0.87 0.35}XCcmyk -/Maroon{0 0.87 0.68 0.32}XCcmyk -/BrickRed{0 0.89 0.94 0.28}XCcmyk -/Red{0 1 1 0}XCcmyk -/OrangeRed{0 1 0.5 0}XCcmyk -/RubineRed{0 1 0.13 0}XCcmyk -/WildStrawberry{0 0.96 0.39 0}XCcmyk -/Salmon{0 0.53 0.38 0}XCcmyk -/CarnationPink{0 0.63 0 0}XCcmyk -/Magenta{0 1 0 0}XCcmyk -/VioletRed{0 0.81 0 0}XCcmyk -/Rhodamine{0 0.82 0 0}XCcmyk -/Mulberry{0.34 0.9 0 0.02}XCcmyk -/RedViolet{0.07 0.9 0 0.34}XCcmyk -/Fuchsia{0.47 0.91 0 0.08}XCcmyk -/Lavender{0 0.48 0 0}XCcmyk -/Thistle{0.12 0.59 0 0}XCcmyk -/Orchid{0.32 0.64 0 0}XCcmyk -/DarkOrchid{0.4 0.8 0.2 0}XCcmyk -/Purple{0.45 0.86 0 0}XCcmyk -/Plum{0.5 1 0 0}XCcmyk -/Violet{0.79 0.88 0 0}XCcmyk -/RoyalPurple{0.75 0.9 0 0}XCcmyk -/BlueViolet{0.86 0.91 0 0.04}XCcmyk -/Periwinkle{0.57 0.55 0 0}XCcmyk -/CadetBlue{0.62 0.57 0.23 0}XCcmyk -/CornflowerBlue{0.65 0.13 0 0}XCcmyk -/MidnightBlue{0.98 0.13 0 0.43}XCcmyk -/NavyBlue{0.94 0.54 0 0}XCcmyk -/RoyalBlue{1 0.5 0 0}XCcmyk -/Blue{1 1 0 0}XCcmyk -/Cerulean{0.94 0.11 0 0}XCcmyk -/Cyan{1 0 0 0}XCcmyk -/ProcessBlue{0.96 0 0 0}XCcmyk -/SkyBlue{0.62 0 0.12 0}XCcmyk -/Turquoise{0.85 0 0.2 0}XCcmyk -/TealBlue{0.86 0 0.34 0.02}XCcmyk -/Aquamarine{0.82 0 0.3 0}XCcmyk -/BlueGreen{0.85 0 0.33 0}XCcmyk -/Emerald{1 0 0.5 0}XCcmyk -/JungleGreen{0.99 0 0.52 0}XCcmyk -/SeaGreen{0.69 0 0.5 0}XCcmyk -/Green{1 0 1 0}XCcmyk -/ForestGreen{0.91 0 0.88 0.12}XCcmyk -/PineGreen{0.92 0 0.59 0.25}XCcmyk -/LimeGreen{0.5 0 1 0}XCcmyk -/YellowGreen{0.44 0 0.74 0}XCcmyk -/SpringGreen{0.26 0 0.76 0}XCcmyk -/OliveGreen{0.64 0 0.95 0.4}XCcmyk -/RawSienna{0 0.72 1 0.45}XCcmyk -/Sepia{0 0.83 1 0.7}XCcmyk -/Brown{0 0.81 1 0.6}XCcmyk -/Tan{0.14 0.42 0.56 0}XCcmyk -/Gray{0 0 0 0.5}XCcmyk -/Black{0 0 0 1}XCcmyk -/White{0 0 0 0}XCcmyk -/XC@AliceBlue{0.06 0.028 0 0}XCcmyk -/XC@AntiqueWhite{0 0.06 0.136 0.02}XCcmyk -/XC@Aqua{1 0 0 0}XCcmyk -/XC@Aquamarine{0.502 0 0.17 0}XCcmyk -/XC@Azure{0.06 0 0 0}XCcmyk -/XC@Beige{0 0 0.096 0.04}XCcmyk -/XC@Bisque{0 0.106 0.23 0}XCcmyk -/XC@Black{0 0 0 1}XCcmyk -/XC@BlanchedAlmond{0 0.08 0.196 0}XCcmyk -/XC@Blue{1 1 0 0}XCcmyk -/XC@BlueViolet{0.348 0.718 0 0.112}XCcmyk -/XC@Brown{0 0.483 0.483 0.352}XCcmyk -/XC@BurlyWood{0 0.15 0.34 0.13}XCcmyk -/XC@CadetBlue{0.256 0.008 0 0.372}XCcmyk -/XC@Chartreuse{0.502 0 1 0}XCcmyk -/XC@Chocolate{0 0.414 0.708 0.176}XCcmyk -/XC@Coral{0 0.502 0.688 0}XCcmyk -/XC@CornflowerBlue{0.538 0.345 0 0.07}XCcmyk -/XC@Cornsilk{0 0.028 0.136 0}XCcmyk -/XC@Crimson{0 0.784 0.629 0.136}XCcmyk -/XC@Cyan{1 0 0 0}XCcmyk -/XC@DarkBlue{0.545 0.545 0 0.455}XCcmyk -/XC@DarkCyan{0.545 0 0 0.455}XCcmyk -/XC@DarkGoldenrod{0 0.195 0.676 0.28}XCcmyk -/XC@DarkGray{0 0 0 0.336}XCcmyk -/XC@DarkGreen{0.392 0 0.392 0.608}XCcmyk -/XC@DarkGrey{0 0 0 0.336}XCcmyk -/XC@DarkKhaki{0 0.024 0.32 0.26}XCcmyk -/XC@DarkMagenta{0 0.545 0 0.455}XCcmyk -/XC@DarkOliveGreen{0.088 0 0.235 0.58}XCcmyk -/XC@DarkOrange{0 0.45 1 0}XCcmyk -/XC@DarkOrchid{0.2 0.604 0 0.2}XCcmyk -/XC@DarkRed{0 0.545 0.545 0.455}XCcmyk -/XC@DarkSalmon{0 0.322 0.432 0.088}XCcmyk -/XC@DarkSeaGreen{0.176 0 0.176 0.264}XCcmyk -/XC@DarkSlateBlue{0.261 0.305 0 0.455}XCcmyk -/XC@DarkSlateGray{0.125 0 0 0.69}XCcmyk -/XC@DarkSlateGrey{0.125 0 0 0.69}XCcmyk -/XC@DarkTurquoise{0.82 0.012 0 0.18}XCcmyk -/XC@DarkViolet{0.248 0.828 0 0.172}XCcmyk -/XC@DeepPink{0 0.92 0.424 0}XCcmyk -/XC@DeepSkyBlue{1 0.25 0 0}XCcmyk -/XC@DimGray{0 0 0 0.59}XCcmyk -/XC@DimGrey{0 0 0 0.59}XCcmyk -/XC@DodgerBlue{0.884 0.435 0 0}XCcmyk -/XC@FireBrick{0 0.566 0.566 0.302}XCcmyk -/XC@FloralWhite{0 0.02 0.06 0}XCcmyk -/XC@ForestGreen{0.413 0 0.413 0.455}XCcmyk -/XC@Fuchsia{0 1 0 0}XCcmyk -/XC@Gainsboro{0 0 0 0.136}XCcmyk -/XC@GhostWhite{0.028 0.028 0 0}XCcmyk -/XC@Gold{0 0.156 1 0}XCcmyk -/XC@Goldenrod{0 0.207 0.73 0.145}XCcmyk -/XC@Gray{0 0 0 0.5}XCcmyk -/XC@Green{0.5 0 0.5 0.5}XCcmyk -/XC@GreenYellow{0.32 0 0.815 0}XCcmyk -/XC@Grey{0 0 0 0.5}XCcmyk -/XC@Honeydew{0.06 0 0.06 0}XCcmyk -/XC@HotPink{0 0.59 0.295 0}XCcmyk -/XC@IndianRed{0 0.444 0.444 0.196}XCcmyk -/XC@Indigo{0.216 0.51 0 0.49}XCcmyk -/XC@Ivory{0 0 0.06 0}XCcmyk -/XC@Khaki{0 0.04 0.39 0.06}XCcmyk -/XC@Lavender{0.08 0.08 0 0.02}XCcmyk -/XC@LavenderBlush{0 0.06 0.04 0}XCcmyk -/XC@LawnGreen{0.502 0 0.99 0.01}XCcmyk -/XC@LemonChiffon{0 0.02 0.196 0}XCcmyk -/XC@LightBlue{0.22 0.052 0 0.1}XCcmyk -/XC@LightCoral{0 0.44 0.44 0.06}XCcmyk -/XC@LightCyan{0.12 0 0 0}XCcmyk -/XC@LightGoldenrod{0 0.066 0.423 0.067}XCcmyk -/XC@LightGoldenrodYellow{0 0 0.156 0.02}XCcmyk -/XC@LightGray{0 0 0 0.172}XCcmyk -/XC@LightGreen{0.367 0 0.367 0.068}XCcmyk -/XC@LightGrey{0 0 0 0.172}XCcmyk -/XC@LightPink{0 0.288 0.244 0}XCcmyk -/XC@LightSalmon{0 0.372 0.52 0}XCcmyk -/XC@LightSeaGreen{0.573 0 0.03 0.302}XCcmyk -/XC@LightSkyBlue{0.45 0.172 0 0.02}XCcmyk -/XC@LightSlateBlue{0.482 0.56 0 0}XCcmyk -/XC@LightSlateGray{0.132 0.068 0 0.4}XCcmyk -/XC@LightSlateGrey{0.132 0.068 0 0.4}XCcmyk -/XC@LightSteelBlue{0.18 0.1 0 0.13}XCcmyk -/XC@LightYellow{0 0 0.12 0}XCcmyk -/XC@Lime{1 0 1 0}XCcmyk -/XC@LimeGreen{0.608 0 0.608 0.196}XCcmyk -/XC@Linen{0 0.04 0.08 0.02}XCcmyk -/XC@Magenta{0 1 0 0}XCcmyk -/XC@Maroon{0 0.5 0.5 0.5}XCcmyk -/XC@MediumAquamarine{0.404 0 0.136 0.196}XCcmyk -/XC@MediumBlue{0.804 0.804 0 0.196}XCcmyk -/XC@MediumOrchid{0.098 0.496 0 0.172}XCcmyk -/XC@MediumPurple{0.284 0.42 0 0.14}XCcmyk -/XC@MediumSeaGreen{0.465 0 0.256 0.3}XCcmyk -/XC@MediumSlateBlue{0.448 0.524 0 0.068}XCcmyk -/XC@MediumSpringGreen{0.98 0 0.376 0.02}XCcmyk -/XC@MediumTurquoise{0.536 0 0.02 0.18}XCcmyk -/XC@MediumVioletRed{0 0.696 0.26 0.22}XCcmyk -/XC@MidnightBlue{0.342 0.342 0 0.56}XCcmyk -/XC@MintCream{0.04 0 0.02 0}XCcmyk -/XC@MistyRose{0 0.106 0.116 0}XCcmyk -/XC@Moccasin{0 0.106 0.29 0}XCcmyk -/XC@NavajoWhite{0 0.13 0.32 0}XCcmyk -/XC@Navy{0.5 0.5 0 0.5}XCcmyk -/XC@NavyBlue{0.5 0.5 0 0.5}XCcmyk -/XC@OldLace{0 0.032 0.092 0.008}XCcmyk -/XC@Olive{0 0 0.5 0.5}XCcmyk -/XC@OliveDrab{0.136 0 0.42 0.444}XCcmyk -/XC@Orange{0 0.352 1 0}XCcmyk -/XC@OrangeRed{0 0.73 1 0}XCcmyk -/XC@Orchid{0 0.415 0.015 0.145}XCcmyk -/XC@PaleGoldenrod{0 0.022 0.264 0.068}XCcmyk -/XC@PaleGreen{0.389 0 0.389 0.015}XCcmyk -/XC@PaleTurquoise{0.244 0 0 0.068}XCcmyk -/XC@PaleVioletRed{0 0.42 0.284 0.14}XCcmyk -/XC@PapayaWhip{0 0.064 0.165 0}XCcmyk -/XC@PeachPuff{0 0.145 0.275 0}XCcmyk -/XC@Peru{0 0.284 0.556 0.196}XCcmyk -/XC@Pink{0 0.248 0.204 0}XCcmyk -/XC@Plum{0 0.24 0 0.132}XCcmyk -/XC@PowderBlue{0.21 0.02 0 0.1}XCcmyk -/XC@Purple{0 0.5 0 0.5}XCcmyk -/XC@Red{0 1 1 0}XCcmyk -/XC@RosyBrown{0 0.176 0.176 0.264}XCcmyk -/XC@RoyalBlue{0.629 0.474 0 0.116}XCcmyk -/XC@SaddleBrown{0 0.275 0.47 0.455}XCcmyk -/XC@Salmon{0 0.48 0.532 0.02}XCcmyk -/XC@SandyBrown{0 0.312 0.58 0.044}XCcmyk -/XC@SeaGreen{0.365 0 0.205 0.455}XCcmyk -/XC@Seashell{0 0.04 0.068 0}XCcmyk -/XC@Sienna{0 0.308 0.452 0.372}XCcmyk -/XC@Silver{0 0 0 0.248}XCcmyk -/XC@SkyBlue{0.39 0.112 0 0.08}XCcmyk -/XC@SlateBlue{0.389 0.452 0 0.196}XCcmyk -/XC@SlateGray{0.125 0.065 0 0.435}XCcmyk -/XC@SlateGrey{0.125 0.065 0 0.435}XCcmyk -/XC@Snow{0 0.02 0.02 0}XCcmyk -/XC@SpringGreen{1 0 0.502 0}XCcmyk -/XC@SteelBlue{0.43 0.195 0 0.295}XCcmyk -/XC@Tan{0 0.119 0.274 0.176}XCcmyk -/XC@Teal{0.5 0 0 0.5}XCcmyk -/XC@Thistle{0 0.098 0 0.152}XCcmyk -/XC@Tomato{0 0.61 0.72 0}XCcmyk -/XC@Turquoise{0.63 0 0.065 0.12}XCcmyk -/XC@Violet{0 0.422 0 0.068}XCcmyk -/XC@VioletRed{0 0.691 0.251 0.184}XCcmyk -/XC@Wheat{0 0.09 0.26 0.04}XCcmyk -/XC@White{0 0 0 0}XCcmyk -/XC@WhiteSmoke{0 0 0 0.04}XCcmyk -/XC@Yellow{0 0 1 0}XCcmyk -/XC@YellowGreen{0.2 0 0.608 0.196}XCcmyk -/XC@gradbegin{1 0 0 0}XCcmyk -/XC@gradend{0.95 0.85 0 0.05}XCcmyk -/XC@black{0 0 0 1}XCcmyk -/XC@darkgray{0 0 0 0.75}XCcmyk -/XC@gray{0 0 0 0.5}XCcmyk -/XC@lightgray{0 0 0 0.25}XCcmyk -/XC@white{0 0 0 0}XCcmyk -/XC@red{0 1 1 0}XCcmyk -/XC@green{1 0 1 0}XCcmyk -/XC@blue{1 1 0 0}XCcmyk -/XC@yellow{0 0 1 0}XCcmyk -/XC@cyan{1 0 0 0}XCcmyk -/XC@magenta{0 1 0 0}XCcmyk -end - -%%EndProcSet -%%BeginProcSet: pst-node.pro 0 0 -% $Id: pst-node.pro 40 2008-09-04 17:56:41Z herbert $ -%% -%% PostScript prologue for pst-node.tex. -%% Version 1.02, 2009/01/30. -%% -%% This program can be redistributed and/or modified under the terms -%% of the LaTeX Project Public License Distributed from CTAN archives -%% in directory macros/latex/base/lppl.txt. -% -/tx@NodeDict 400 dict def tx@NodeDict begin -tx@Dict begin % from main pstricks dict - /T /translate load def -end -/NewNode { % on stack: { x y } boolean N@name type InitXnode - gsave - /next ED % { x y } boolean N@name type - dict dup % { x y } boolean N@name dict dict - 3 1 roll def % { x y } boolean dict N@name dict def - exch { dup 3 1 roll def } if % { x y } dict boolean - begin % { x y } dict begin - tx@Dict begin - STV CP T exec % set scaling - end - /NodeMtrx CM def % save CM - next % InitXNode - end - grestore -} def -% -/InitPnode { - /Y ED /X ED - /NodePos { NodeSep Cos mul NodeSep Sin mul } def -} def -% -/InitCnode { - /r ED /Y ED /X ED - /NodePos { NodeSep r add dup Cos mul exch Sin mul } def -} def -% -/GetRnodePos { - Cos 0 gt { /dx r NodeSep add def } { /dx l NodeSep sub def } ifelse - Sin 0 gt { /dy u NodeSep add def } { /dy d NodeSep sub def } ifelse - dx Sin mul abs dy - Cos mul abs gt { dy Cos mul Sin div dy } { dx dup Sin mul Cos Div } ifelse -} def -% -/InitRnode { - /Y ED /X ED X sub /r ED /l X neg def Y add neg /d ED Y sub /u ED - /NodePos { GetRnodePos } def -} def -% -/DiaNodePos { - w h mul w Sin mul abs h Cos mul abs add Div NodeSep add dup - Cos mul exch Sin mul -} def -% -/TriNodePos { - Sin s lt - { d NodeSep sub dup Cos mul Sin Div exch } - { w h mul w Sin mul h Cos abs mul add Div - NodeSep add dup Cos mul exch Sin mul - } ifelse -} def -% -/InitTriNode { - sub 2 div exch - 2 div exch - 2 copy T - 2 copy 4 index index /d ED - pop pop pop pop - -90 mul rotate - /NodeMtrx CM def - /X 0 def /Y 0 def - d sub abs neg /d ED - d add /h ED - 2 div h mul h d sub Div /w ED - /s d w Atan sin def - /NodePos { TriNodePos } def -} def -% -/OvalNodePos { - /ww w NodeSep add def - /hh h NodeSep add def - Sin ww mul Cos hh mul Atan dup cos ww mul exch sin hh mul -} def -% -/GetCenter { begin X Y NodeMtrx transform CM itransform end } def -% -/XYPos { - dup sin exch cos Do - /Cos ED /Sin ED /Dist ED - Cos 0 gt - { Dist Dist Sin mul Cos div } - { Cos 0 lt - { Dist neg Dist Sin mul Cos div neg } - { 0 Dist Sin mul } ifelse - } ifelse - Do -} def -% -/GetEdge { - dup 0 eq - { pop begin 1 0 NodeMtrx dtransform - CM idtransform - exch atan sub - dup - sin /Sin ED - cos /Cos ED - /NodeSep ED - NodePos NodeMtrx dtransform CM idtransform end } - { 1 eq {{exch}} {{}} ifelse /Do ED pop XYPos } ifelse -} def -% -/AddOffset { - 1 index 0 eq - { pop pop } - { 2 copy 5 2 roll cos mul add 4 1 roll sin mul sub exch } ifelse -} def -% -/GetEdgeA { - NodeSepA AngleA NodeA NodeSepTypeA GetEdge - OffsetA AngleA AddOffset - yA add /yA1 ED - xA add /xA1 ED -} def -% -/GetEdgeB { - NodeSepB AngleB NodeB NodeSepTypeB GetEdge - OffsetB AngleB AddOffset - yB add /yB1 ED - xB add /xB1 ED -} def -% -/GetArmA { - ArmTypeA 0 eq - { /xA2 ArmA AngleA cos mul xA1 add def - /yA2 ArmA AngleA sin mul yA1 add def } - { ArmTypeA 1 eq {{exch}} {{}} ifelse - /Do ED - ArmA AngleA XYPos OffsetA AngleA AddOffset - yA add /yA2 ED - xA add /xA2 ED } ifelse -} def -% -/GetArmB { - ArmTypeB 0 eq - { /xB2 ArmB AngleB cos mul xB1 add def - /yB2 ArmB AngleB sin mul yB1 add def } - { ArmTypeB 1 eq {{exch}} {{}} ifelse - /Do ED - ArmB AngleB XYPos OffsetB AngleB AddOffset - yB add /yB2 ED - xB add /xB2 ED } ifelse -} def -% -/InitNC { - /b ED /a ED % second and first node - /NodeSepTypeB ED /NodeSepTypeA ED - /NodeSepB ED /NodeSepA ED - /OffsetB ED /OffsetA ED - tx@NodeDict a known tx@NodeDict b known and dup { - /NodeA a load def - /NodeB b load def - NodeA GetCenter /yA ED /xA ED - NodeB GetCenter /yB ED /xB ED } if -} def -% -/LPutLine { - 4 copy - 3 -1 roll sub neg 3 1 roll sub Atan /NAngle ED - 1 t sub mul - 3 1 roll 1 t sub mul - 4 1 roll t mul add /Y ED - t mul add /X ED -} def -% -/LPutLines { - mark LPutVar counttomark 2 div 1 sub /n ED -% t floor dup n gt - t floor dup n ge % to allow npos<= hv 2008-08-14 - { pop n 1 sub /t 1 def } { dup t sub neg /t ED } ifelse - cvi 2 mul { pop } repeat - LPutLine - cleartomark -} def -% -/BezierMidpoint { /y3 ED /x3 ED /y2 ED /x2 ED /y1 ED /x1 ED /y0 ED /x0 ED -/t ED /cx x1 x0 sub 3 mul def /cy y1 y0 sub 3 mul def /bx x2 x1 sub 3 -mul cx sub def /by y2 y1 sub 3 mul cy sub def /ax x3 x0 sub cx sub bx -sub def /ay y3 y0 sub cy sub by sub def ax t 3 exp mul bx t t mul mul -add cx t mul add x0 add ay t 3 exp mul by t t mul mul add cy t mul add -y0 add 3 ay t t mul mul mul 2 by t mul mul add cy add 3 ax t t mul mul -mul 2 bx t mul mul add cx add atan /NAngle ED /Y ED /X ED } def -/HPosBegin { yB yA ge { /t 1 t sub def } if /Y yB yA sub t mul yA add def -} def -/HPosEnd { /X Y yyA sub yyB yyA sub Div xxB xxA sub mul xxA add def -/NAngle yyB yyA sub xxB xxA sub Atan def } def -/HPutLine { HPosBegin /yyA ED /xxA ED /yyB ED /xxB ED HPosEnd } def -/HPutLines { HPosBegin yB yA ge { /check { le } def } { /check { ge } def -} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { dup Y check { exit -} { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark HPosEnd -} def -/VPosBegin { xB xA lt { /t 1 t sub def } if /X xB xA sub t mul xA add def -} def -/VPosEnd { /Y X xxA sub xxB xxA sub Div yyB yyA sub mul yyA add def -/NAngle yyB yyA sub xxB xxA sub Atan def } def -/VPutLine { VPosBegin /yyA ED /xxA ED /yyB ED /xxB ED VPosEnd } def -/VPutLines { VPosBegin xB xA ge { /check { le } def } { /check { ge } def -} ifelse /xxA xA def /yyA yA def mark xB yB LPutVar { 1 index X check { -exit } { /yyA ED /xxA ED } ifelse } loop /yyB ED /xxB ED cleartomark -VPosEnd } def -/HPutCurve { gsave newpath /SaveLPutVar /LPutVar load def LPutVar 8 -2 -roll moveto curveto flattenpath /LPutVar [ {} {} {} {} pathforall ] cvx -def grestore exec /LPutVar /SaveLPutVar load def } def -/NCCoor { /AngleA yB yA sub xB xA sub Atan def /AngleB AngleA 180 add def -GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 xA1 yA1 ] cvx def /LPutPos { -LPutVar LPutLine } def /HPutPos { LPutVar HPutLine } def /VPutPos { -LPutVar VPutLine } def LPutVar } def -/NCLine { NCCoor tx@Dict begin ArrowA CP 4 2 roll ArrowB lineto pop pop -end } def -/NCLines { false NArray n 0 eq { NCLine } { 2 copy yA sub exch xA sub -Atan /AngleA ED n 2 mul dup index exch index yB sub exch xB sub Atan -/AngleB ED GetEdgeA GetEdgeB /LPutVar [ xB1 yB1 n 2 mul 4 add 4 roll xA1 -yA1 ] cvx def mark LPutVar tx@Dict begin false Line end /LPutPos { -LPutLines } def /HPutPos { HPutLines } def /VPutPos { VPutLines } def } -ifelse } def -/NCCurve { GetEdgeA GetEdgeB xA1 xB1 sub yA1 yB1 sub Pyth 2 div dup 3 -1 -roll mul /ArmA ED mul /ArmB ED /ArmTypeA 0 def /ArmTypeB 0 def GetArmA -GetArmB xA2 yA2 xA1 yA1 tx@Dict begin ArrowA end xB2 yB2 xB1 yB1 tx@Dict -begin ArrowB end curveto /LPutVar [ xA1 yA1 xA2 yA2 xB2 yB2 xB1 yB1 ] -cvx def /LPutPos { t LPutVar BezierMidpoint } def /HPutPos { { HPutLines -} HPutCurve } def /VPutPos { { VPutLines } HPutCurve } def } def -% -/NCAngles { - GetEdgeA GetEdgeB GetArmA GetArmB - /mtrx AngleA matrix rotate def - xA2 yA2 mtrx transform pop - xB2 yB2 mtrx transform exch pop - mtrx itransform - /y0 ED /x0 ED - mark ArmB 0 ne { xB1 yB1 } if - xB2 yB2 x0 y0 xA2 yA2 - ArmA 0 ne { xA1 yA1 } if - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA2 yA2 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def } def -% -/NCAngle { - GetEdgeA GetEdgeB GetArmB - /mtrx AngleA matrix rotate def - xB2 yB2 mtrx itransform pop xA1 yA1 mtrx itransform exch pop mtrx transform - /y0 ED /x0 ED - mark - ArmB 0 ne { xB1 yB1 } if - xB2 yB2 x0 y0 xA1 yA1 - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xB2 yB2 x0 y0 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def -} def -% -/NCBar { - GetEdgeA GetEdgeB GetArmA GetArmB - /mtrx AngleA matrix rotate def - xA2 yA2 mtrx itransform pop - xB2 yB2 mtrx itransform pop - sub dup 0 mtrx transform - 3 -1 roll 0 gt - { /yB2 exch yB2 add def /xB2 exch xB2 add def } - { /yA2 exch neg yA2 add def /xA2 exch neg xA2 add def } ifelse - mark - ArmB 0 ne { xB1 yB1 } if - xB2 yB2 xA2 yA2 ArmA 0 ne { xA1 yA1 } if - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def -} def -% -/NCDiag { - GetEdgeA GetEdgeB GetArmA GetArmB mark - ArmB 0 ne { xB1 yB1 } if - xB2 yB2 xA2 yA2 - ArmA 0 ne { xA1 yA1 } if - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xB2 yB2 xA2 yA2 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def -} def -% -/NCDiagg { - GetEdgeA GetArmA - yB yA2 sub xB xA2 sub Atan 180 add /AngleB ED - GetEdgeB - mark - xB1 yB1 xA2 yA2 - ArmA 0 ne { xA1 yA1 } if - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xA2 yA2 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def -} def -% -/NCLoop { - GetEdgeA GetEdgeB GetArmA GetArmB - /mtrx AngleA matrix rotate def - xA2 yA2 mtrx transform loopsize add /yA3 ED /xA3 ED - /xB3 xB2 yB2 mtrx transform pop def - xB3 yA3 mtrx itransform /yB3 ED /xB3 ED - xA3 yA3 mtrx itransform /yA3 ED /xA3 ED - mark ArmB 0 ne { xB1 yB1 } if - xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 ArmA 0 ne { xA1 yA1 } if - tx@Dict begin false Line end - /LPutVar [ xB1 yB1 xB2 yB2 xB3 yB3 xA3 yA3 xA2 yA2 xA1 yA1 ] cvx def - /LPutPos { LPutLines } def - /HPutPos { HPutLines } def - /VPutPos { VPutLines } def -} def -% -% DG/SR modification begin - May 9, 1997 - Patch 1 -%/NCCircle { 0 0 NodesepA nodeA \tx@GetEdge pop xA sub 2 div dup 2 exp r -%r mul sub abs sqrt atan 2 mul /a ED r AngleA 90 add PtoC yA add exch xA add -%exch 2 copy /LPutVar [ 4 2 roll r AngleA ] cvx def /LPutPos { LPutVar t 360 -%mul add dup 5 1 roll 90 sub \tx@PtoC 3 -1 roll add /Y ED add /X ED /NAngle ED -% -/NCCircle { - NodeSepA 0 NodeA 0 GetEdge pop - 2 div dup 2 exp r r mul sub abs sqrt - atan 2 mul /a ED - r AngleA 90 add PtoC yA add exch xA add - exch 2 copy - /LPutVar [ 4 2 roll r AngleA ] cvx def - /LPutPos { - LPutVar t 360 mul add dup 5 1 roll 90 sub PtoC - 3 -1 roll add - /Y ED add /X ED /NAngle ED -% DG/SR modification end - } def - /HPutPos { LPutPos } def - /VPutPos { LPutPos } def - r AngleA 90 sub a add AngleA 270 add a sub - tx@Dict begin - /angleB ED /angleA ED /r ED - /c 57.2957 r Div def - /y ED /x ED -} def -% -/NCBox { /d ED /h ED /AngleB yB yA sub xB xA sub Atan def /AngleA AngleB -180 add def GetEdgeA GetEdgeB /dx d AngleB sin mul def /dy d AngleB cos -mul neg def /hx h AngleB sin mul neg def /hy h AngleB cos mul def -/LPutVar [ xA1 hx add yA1 hy add xB1 hx add yB1 hy add xB1 dx add yB1 dy -add xA1 dx add yA1 dy add ] cvx def /LPutPos { LPutLines } def /HPutPos -{ xB yB xA yA LPutLine } def /VPutPos { HPutPos } def mark LPutVar -tx@Dict begin false Polygon end } def -/NCArcBox { /l ED neg /d ED /h ED /a ED /AngleA yB yA sub xB xA sub Atan -def /AngleB AngleA 180 add def /tA AngleA a sub 90 add def /tB tA a 2 -mul add def /r xB xA sub tA cos tB cos sub Div dup 0 eq { pop 1 } if def -/x0 xA r tA cos mul add def /y0 yA r tA sin mul add def /c 57.2958 r div -def /AngleA AngleA a sub 180 add def /AngleB AngleB a add 180 add def -GetEdgeA GetEdgeB /AngleA tA 180 add yA yA1 sub xA xA1 sub Pyth c mul -sub def /AngleB tB 180 add yB yB1 sub xB xB1 sub Pyth c mul add def l 0 -eq { x0 y0 r h add AngleA AngleB arc x0 y0 r d add AngleB AngleA arcn } -{ x0 y0 translate /tA AngleA l c mul add def /tB AngleB l c mul sub def -0 0 r h add tA tB arc r h add AngleB PtoC r d add AngleB PtoC 2 copy 6 2 -roll l arcto 4 { pop } repeat r d add tB PtoC l arcto 4 { pop } repeat 0 -0 r d add tB tA arcn r d add AngleA PtoC r h add AngleA PtoC 2 copy 6 2 -roll l arcto 4 { pop } repeat r h add tA PtoC l arcto 4 { pop } repeat } -ifelse closepath /LPutVar [ x0 y0 r AngleA AngleB h d ] cvx def /LPutPos -{ LPutVar /d ED /h ED /AngleB ED /AngleA ED /r ED /y0 ED /x0 ED t 1 le { -r h add AngleA 1 t sub mul AngleB t mul add dup 90 add /NAngle ED PtoC } -{ t 2 lt { /NAngle AngleB 180 add def r 2 t sub h mul t 1 sub d mul add -add AngleB PtoC } { t 3 lt { r d add AngleB 3 t sub mul AngleA 2 t sub -mul add dup 90 sub /NAngle ED PtoC } { /NAngle AngleA 180 add def r 4 t -sub d mul t 3 sub h mul add add AngleA PtoC } ifelse } ifelse } ifelse -y0 add /Y ED x0 add /X ED } def /HPutPos { LPutPos } def /VPutPos { -LPutPos } def } def -/Tfan { /AngleA yB yA sub xB xA sub Atan def GetEdgeA w xA1 xB sub yA1 yB -sub Pyth Pyth w Div CLW 2 div mul 2 div dup AngleA sin mul yA1 add /yA1 -ED AngleA cos mul xA1 add /xA1 ED /LPutVar [ xA1 yA1 m { xB w add yB xB -w sub yB } { xB yB w sub xB yB w add } ifelse xA1 yA1 ] cvx def /LPutPos -{ LPutLines } def /VPutPos@ { LPutVar flag { 8 4 roll pop pop pop pop } -{ pop pop pop pop 4 2 roll } ifelse } def /VPutPos { VPutPos@ VPutLine } -def /HPutPos { VPutPos@ HPutLine } def mark LPutVar tx@Dict begin -/ArrowA { moveto } def /ArrowB { } def false Line closepath end } def -% -/LPutCoor { - NAngle - tx@Dict begin /NAngle ED end - gsave - CM STV - CP Y sub neg exch X sub neg exch moveto - setmatrix CP - grestore -} def -% -/LPut { - tx@NodeDict /LPutPos known - { LPutPos } { CP /Y ED /X ED /NAngle 0 def } ifelse - LPutCoor -} def -% -/HPutAdjust { - Sin Cos mul 0 eq - { 0 } - { d Cos mul Sin div flag not { neg } if - h Cos mul Sin div flag { neg } if - 2 copy gt { pop } { exch pop } ifelse - } ifelse - s add flag { r add neg }{ l add } ifelse - X add /X ED -} def -% -/VPutAdjust { - Sin Cos mul - 0 eq - { 0 } - { l Sin mul Cos div flag { neg } if - r Sin mul Cos div flag not { neg } if - 2 copy gt { pop } { exch pop } ifelse - } ifelse - s add flag { d add } { h add neg } ifelse - Y add /Y ED -} def -% -end -% -% END pst-node.pro - -%%EndProcSet -%%BeginProcSet: 8r.enc 0 0 -% File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30 -% -% @@psencodingfile@{ -% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, -% W. Schmidt, P. Lehman", -% version = "2.0", -% date = "27nov06", -% filename = "8r.enc", -% email = "tex-fonts@@tug.org", -% docstring = "This is the encoding vector for Type1 and TrueType -% fonts to be used with TeX. This file is part of the -% PSNFSS bundle, version 9" -% @} -% -% The idea is to have all the characters normally included in Type 1 fonts -% available for typesetting. This is effectively the characters in Adobe -% Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol, -% MacRoman, and some extra characters from Lucida. -% -% Character code assignments were made as follows: -% -% (1) the Windows ANSI characters are almost all in their Windows ANSI -% positions, because some Windows users cannot easily reencode the -% fonts, and it makes no difference on other systems. The only Windows -% ANSI characters not available are those that make no sense for -% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen -% (173). quotesingle and grave are moved just because it's such an -% irritation not having them in TeX positions. -% -% (2) Remaining characters are assigned arbitrarily to the lower part -% of the range, avoiding 0, 10 and 13 in case we meet dumb software. -% -% (3) Y&Y Lucida Bright includes some extra text characters; in the -% hopes that other PostScript fonts, perhaps created for public -% consumption, will include them, they are included starting at 0x12. -% These are /dotlessj /ff /ffi /ffl. -% -% (4) hyphen appears twice for compatibility with both ASCII and Windows. -% -% (5) /Euro was assigned to 128, as in Windows ANSI -% -% (6) Missing characters from MacRoman encoding incorporated as follows: -% -% PostScript MacRoman TeXBase1 -% -------------- -------------- -------------- -% /notequal 173 0x16 -% /infinity 176 0x17 -% /lessequal 178 0x18 -% /greaterequal 179 0x19 -% /partialdiff 182 0x1A -% /summation 183 0x1B -% /product 184 0x1C -% /pi 185 0x1D -% /integral 186 0x81 -% /Omega 189 0x8D -% /radical 195 0x8E -% /approxequal 197 0x8F -% /Delta 198 0x9D -% /lozenge 215 0x9E -% -/TeXBase1Encoding [ -% 0x00 - /.notdef /dotaccent /fi /fl - /fraction /hungarumlaut /Lslash /lslash - /ogonek /ring /.notdef /breve - /minus /.notdef /Zcaron /zcaron -% 0x10 - /caron /dotlessi /dotlessj /ff - /ffi /ffl /notequal /infinity - /lessequal /greaterequal /partialdiff /summation - /product /pi /grave /quotesingle -% 0x20 - /space /exclam /quotedbl /numbersign - /dollar /percent /ampersand /quoteright - /parenleft /parenright /asterisk /plus - /comma /hyphen /period /slash -% 0x30 - /zero /one /two /three - /four /five /six /seven - /eight /nine /colon /semicolon - /less /equal /greater /question -% 0x40 - /at /A /B /C - /D /E /F /G - /H /I /J /K - /L /M /N /O -% 0x50 - /P /Q /R /S - /T /U /V /W - /X /Y /Z /bracketleft - /backslash /bracketright /asciicircum /underscore -% 0x60 - /quoteleft /a /b /c - /d /e /f /g - /h /i /j /k - /l /m /n /o -% 0x70 - /p /q /r /s - /t /u /v /w - /x /y /z /braceleft - /bar /braceright /asciitilde /.notdef -% 0x80 - /Euro /integral /quotesinglbase /florin - /quotedblbase /ellipsis /dagger /daggerdbl - /circumflex /perthousand /Scaron /guilsinglleft - /OE /Omega /radical /approxequal -% 0x90 - /.notdef /.notdef /.notdef /quotedblleft - /quotedblright /bullet /endash /emdash - /tilde /trademark /scaron /guilsinglright - /oe /Delta /lozenge /Ydieresis -% 0xA0 - /.notdef /exclamdown /cent /sterling - /currency /yen /brokenbar /section - /dieresis /copyright /ordfeminine /guillemotleft - /logicalnot /hyphen /registered /macron -% 0xB0 - /degree /plusminus /twosuperior /threesuperior - /acute /mu /paragraph /periodcentered - /cedilla /onesuperior /ordmasculine /guillemotright - /onequarter /onehalf /threequarters /questiondown -% 0xC0 - /Agrave /Aacute /Acircumflex /Atilde - /Adieresis /Aring /AE /Ccedilla - /Egrave /Eacute /Ecircumflex /Edieresis - /Igrave /Iacute /Icircumflex /Idieresis -% 0xD0 - /Eth /Ntilde /Ograve /Oacute - /Ocircumflex /Otilde /Odieresis /multiply - /Oslash /Ugrave /Uacute /Ucircumflex - /Udieresis /Yacute /Thorn /germandbls -% 0xE0 - /agrave /aacute /acircumflex /atilde - /adieresis /aring /ae /ccedilla - /egrave /eacute /ecircumflex /edieresis - /igrave /iacute /icircumflex /idieresis -% 0xF0 - /eth /ntilde /ograve /oacute - /ocircumflex /otilde /odieresis /divide - /oslash /ugrave /uacute /ucircumflex - /udieresis /yacute /thorn /ydieresis -] def - - -%%EndProcSet -%%BeginProcSet: texps.pro 0 0 -%! -TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 -index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll -exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 -ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ -pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get -div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type -/nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end -definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup -sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll -mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ -exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} -forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def -end - -%%EndProcSet -%%BeginProcSet: special.pro 0 0 -%! -TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N -/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N -/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N -/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ -/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho -X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B -/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ -/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known -{userdict/md get type/dicttype eq{userdict begin md length 10 add md -maxlength ge{/md md dup length 20 add dict copy def}if end md begin -/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S -atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ -itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll -transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll -curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf -pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} -if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 --1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 -get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip -yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub -neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ -noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop -90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get -neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr -1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr -2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 --1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S -TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ -Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale -}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState -save N userdict maxlength dict begin/magscale true def normalscale -currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts -/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x -psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx -psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub -TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def -@MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll -newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto -closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N -/@beginspecial{SDict begin/SpecialSave save N gsave normalscale -currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} -N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs -neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate -rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse -scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg -lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx -ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N -/setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ -pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave -restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B -/rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 -setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY -moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix -matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc -savematrix setmatrix}N end - -%%EndProcSet -%%BeginProcSet: color.pro 0 0 -%! -TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop -setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll -}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def -/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ -setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ -/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch -known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC -/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC -/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 -setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 -setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 -0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC -/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 -setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 -0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ -0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ -0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC -/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 -setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 -setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 -0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC -/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 -setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 -0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ -0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ -0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC -/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 -setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC -/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 -0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 -0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 -0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 -setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 -0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC -/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 -setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 -0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 -1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC -/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 -setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ -0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} -DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 -setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 -setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 -setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end - -%%EndProcSet -%%BeginFont: LucidaBrightCE -%!PS-AdobeFont-1.0: LucidaBrightCE 001.000 -%%CreationDate: 18.02.00 at 15:55 -%%VMusage: 1024 47599 -% Generated by Fontographer 4.1 -% Copyright \(c\) 1998 Bigelow & Holmes Inc. Pat. Des 289,421. -% ADL: 800 200 0 -%%EndComments -FontDirectory/LucidaBrightCE known{/LucidaBrightCE findfont dup/UniqueID known{dup -/UniqueID get 4890615 eq exch/FontType get 1 eq and}{pop false}ifelse -{save true}{false}ifelse}{false}ifelse -20 dict begin -/FontInfo 16 dict dup begin -/version (001.000) readonly def -/FullName (LucidaBrightCE) readonly def -/FamilyName (LucidaBrightCE) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -200 def -/UnderlineThickness 100 def -/Notice (Copyright \(c\) 1998 Bigelow & Holmes Inc. Pat. Des 289,421.) readonly def -/em 1000 def -/ascent 800 def -/descent 200 def -end readonly def -/FontName /LucidaBrightCE def -/Encoding 256 array -0 1 255 {1 index exch /.notdef put} for -dup 40 /parenleft put -dup 41 /parenright put -dup 44 /comma put -dup 45 /hyphen put -dup 46 /period put -dup 49 /one put -dup 51 /three put -dup 65 /A put -dup 66 /B put -dup 67 /C put -dup 68 /D put -dup 69 /E put -dup 70 /F put -dup 72 /H put -dup 73 /I put -dup 75 /K put -dup 77 /M put -dup 80 /P put -dup 83 /S put -dup 84 /T put -dup 86 /V put -dup 88 /X put -dup 90 /Z put -dup 97 /a put -dup 98 /b put -dup 100 /d put -dup 101 /e put -dup 102 /f put -dup 103 /g put -dup 104 /h put -dup 105 /i put -dup 107 /k put -dup 108 /l put -dup 109 /m put -dup 110 /n put -dup 111 /o put -dup 112 /p put -dup 114 /r put -dup 115 /s put -dup 116 /t put -dup 117 /u put -dup 120 /x put -dup 121 /y put -dup 122 /z put -dup 228 /adieresis put -readonly def -/PaintType 0 def -/FontType 1 def -/StrokeWidth 0 def -/FontMatrix[0.001 0 0 0.001 0 0]readonly def -/FontBBox{-36 -318 1014 993}readonly def -currentdict end -currentfile eexec -D9D66F633B846AB28EDC112EE8CE6C673600130707DE48BF082E5E38F377870F -EC577CC0BE324DC9F48DDE3E42F41F80F0529CA4D00437E413B730C2971C6596 -BC0E5C3CB3B0C4CB00F49710EE39BFC08B25EE73EE0110AA0B09087B61961613 -F28957190014C668EBE72F94F0C3F59D322B6654935C89D08228D87A26CB5A02 -2AF72D68BFA18797C9A4FCE0EA5F267180E8BBB3523B860BA31385E6D13FB249 -82A8F708AC7E7D555EF420CED2D8DB13A0496426DF3157841D9CB57CA0874D6C -1664C8C8A9CC63CD76B945A2969EA0EA63C31EDAD9E7870E96E3E72336D46967 -E2EA0D0FA5AA4B8604D019149C8957096EEB1BEA900ECD03022DB5142AB0A1F2 -A0C71498AAECE590586CA1F863B9E9AB06D9E27AC5D1DA50CECFAC74079A60A4 -F6230379CBAB3461A106E033B6B59B40E8D65D99E65021394297EB3507ABE8EA -DEA26615E1210C21B30725C3640860849878C424D06E3DD1F22F0A674109204C -A95519D84EFC3F1B77BAE0B13BC5357B109628D853AA0833BF4B06CB19D1C124 -0FD5E1ED6C9E910C32611762700E6475AAB74B8E9FA547ACFB7E9B2B15F1D5A8 -9543DB47255A2C5443BCED6E28F46E079CF27120ABB9917BBDF765C662C25C0E -1C118C7B61DEF5D51FC56896A34EF0F1657A403654044F0315DFBD0783B71787 -2DB951A9A1A36F27A910774C31F7E1D0878CC6570470AF607FBB369CB6BF9F66 -15B04672B879998517BF99B9E4F0ADD769E5D41AB933E3E6DA8EC54BEA6E431B -7A5E2DBA54549224E46E3C5E5E9AFA5541E4775DD42FA9522E820F5D07539F1A -FCFEFF7376918A35C7EA8C1A0A48D9721A86BEDEF76AD6F32D5A3768FB6BFF5A -1E7BEC988F06F62E178393E8BB74CA37E8D89DC67C0F9842B0368AD7A499EE5D -B75C1A20FC3A555708DD7932F8863383E5851027BBE6D042F65CEFCD3023B738 -6FD34E7056F062F57B7A5DA64B28AC1842A8F42ADD4915D8D4407C4A868FD4E9 -256C6E8561AB69E56C391001D99B860BDFC3508BE480018EA7760738963A66B9 -B5D897A3C67A2462C67F883413E087786C64C752F930E609AA90D47A1310422E -1AED61C75904BBA4E3377958FC9412767223B29BC367F1C0A4313FC57A916CF9 -434B2384EB1ED34FF52F9C9E0D3FB5901AC4BB19D8066FEB0E9B16FA1385BD5F -1B653894A952257D37FF0E25A81CA7D01F5A103CB3F50F1D88919C419C91A650 -AEE18C8BC3BC1633C1EED8854448063316B83CB4058BBC339DF76BAFABEC1D78 -053982CA60D0A2B591F4139829FC1AE5BF699E0506DFFA5739E88BEB81076CBB -0D25D106A2E0B77B2219F8DFC93B00AB0E2AAA910AD5C7C4064B4DEC8B2A5378 -89B206A137DEB2509F6AF2C908FB12B5D161B63A9E42CDAF15BDA866D575DDA2 -FAA82DBADA1FCB2770B15579D50F03C3B45ABA5EA21743669C87A0D99DD594E1 -C3B520A779331BA4EA61ACF225D27F2C179B139811BF4EE0281A610B03592111 -5379F02C527E4625FC0A91AA222524C6AEBB402EDC33ED2C6C1BBD8827527917 -8552D080E2A715B0E16C82BD58EE66C622DE285C8B2BA420BC87B3E776FAA4A8 -E3A31BC6C19C309C72BFD7EDCFDF439B2B05CCA4C3C1E3AA750E86B604B81F22 -B414AAF0E1A95B47BFF24C4E93AF27FB1BE92AD979EC491ADAB58E002E8A1762 -5632601A8A2CD0CB820C71C9F09504A66E08D42F0A1D4CE48EDFDBEE06EA244A -AFDABAF7A8C06C8C61F288B8E820FB0228863CF12161FA0A770ED6D39E571D79 -E7ABE0D0583038C3346D7FF6A92E3A15F5BF0D75F30CE83E1D5AEC2C330B4F75 -B39E74BA104215F3C12D51650AAE159DE6E9FE620D86E9B05E900D14042BF7FF -0CE1300F22FE7136611595047CE8FAD26EDB09844D3209B64E00A86B9E3CDE75 -D72CD14E5821A476F51FF61C1BC23091605CDA81DF7AFD6C9BB23D75C86DEC3C -DAAB810C2E0DF5239BF33993123C80F7C2A81D666FC998798BDCD371CCFA568C -79AD7D9815E0BD34702EFF739EF974989569AFD6AC2191776FD806E84A974A00 -C1807FEF6F0AB2532B630445F8B4F7F4B975DB8D7E5D664C30D82236EEAF7236 -E220EFE0D60DB5E9D3E39B24A78AB2C62629C048F320F7045055F1636279052D -63383C0D35946F084C8D59321F918EBFA21910AB452424307E0C5685C0E79759 -DE2709F47847F981E61F7E086A867FE874762CEEA7BA9CABCEA4DF01C72D51B2 -795B17073F7556030AB9C797372FA41E76391B55ABCDA623F55A3E82E5AAA694 -7BFB2743C872FCBBB373AF6421C788FB9264AA9D82F4E5DA9C8513B9A0AE52DD -248ACD3FB6AE7A99FC866794AC1F3365E5792A46A5BFF3BC69D0EE356B34D0B3 -801CC3432BC8C99AC01A0005FB2EE6FC30FB29C0FF50BB1D23CF91DD906AC481 -E28B9EB73E963DEBCF119B1A1F627D6E78CB328EFAEDDC0D51EBE0C2888B369D -421BEBB6E7FCDCA196ACDC62087BBAFA394FEA400984FE53C5E61C03E3930585 -CF95DE2F4696D2F24B8A11518C65601D62FD795E1A67EB300EBE8891A877C3D7 -B0F0D6AC90858CB2DF7CBF17F5C7B10288D40B623A22FE5D9CB9EE4B758840DF -7BF9C8949FC4335BE0FE6D0F6493ABF0629D1882ED5CAD28D7AAAF5DB961F79B -776580EED2567976EFDE5F160A83B6BA54E9A92DCCF3F80A8F6E82B0C4BE159F -1FFE69903E315C601C5CDBF7CFFC95F27EA0792C87DC525532FF2370583B082B -75C735FEC6D53DF6A7895FFAC9A8E8D927EDB7278F17D62CB86F2BDA69DFEEDF -76DD11EE009AE4AEFE178AAC68F5FBA0B930BC84861CE5D9CCC2ADD97B114725 -E11C84F7F6E8117D338C6A5B59881ABB66ACCCDFF457EF70D7E213898246A0F8 -E534A05D9ADBD0ED6FF22ADFC529E2149B9A574F6D08DAFC69C29F305CF08B57 -79488F15A313A17F552E5E69ECA25F35C313BEC07F7852D31DE56BE21DFBBF93 -05092E87740A7F60F5C7EF6573B1ECA3D9137DF5EA301BAF0E630B0B6253D36B -7012C80E9E3C0FA10D0B9999D2330281D9057CFC928132D299BBE6A6DF9744D6 -9C71E4396905538AB55686AE4DBB1E3D7AAD020E7A6C7790294B0330B852B4F2 -2B1738CCB7933CB706D9172025B1E100423F773B45583683094D4E3A93B7892C -1BE21A3DFC7CFB35E19025DC0E0BFE1E8724866EEE2F9B557A3757C3CC58920E -82E0B514384EEC28B33B84D075F46EAAC0FDB0137341CD04A8B52471908AE151 -534D5FEACD9E7209572BF049A41F70D637D76DC345472CF61777CBA7787E9550 -82E4D4C71396FA6A537641AD4D2389EAF3F0F6CDBC26F6C64562846FC73B3324 -0A73FCE50DFCAF6C4F15600AEC20578682D9B00A2C6589C92DB0F1FBA5921B8A -62BAF30BE5AF104DF56B8A107A8AD29F105279381C986BFCAC77A376E7AB677F -94165CA9A108DF5CF4A938FED50331E9E39957A90D3BD69E1C978CE26B683CDA -EC7BE97BCB940256D1E23DF701BE018D951E64F7145DDCD6AE768A910C3E5A31 -1BA8D8C69352B12EEA916B4487EDE3762AFA2EF766F57F2358F3022B1BF94866 -2136D3385E054C5D5741E6D0A3A34950438EB4067CFBDD9856B588AD9FF43739 -AB26B223E36F4959258BC4C04B151259EF4854FCF903B9358699BA59C3457871 -CF222176E7778A3DBA7F996B3BC60101A63F9519ACEE1E468BB222EBA8BCC3FB -7DC371485B9A63F7B6FC2902B9AC5AC550A7A7EAFD6293CDD986B41131F4D582 -2FD6D5CC31DE06F192528B3EE7DE6EE6ED53B51E9DBB15BDF6B9EE5C277DF354 -FCA6BA5585C9C545650D7538342D32DACF923BACF30683B8CAF4C3BE2D9805BA -C811F8662ECFA7FBD623B9C73846D0307F36D19FF321D2DF159515D48A32BA14 -745AE580CE51356C6BFF5C183EFAB82F66B1E76D7A62E0F9FBFE98E3109EE9CD -C913937A28AA74915A858724AD3F58F0B9315291E8C70C28CD49AF3310EDDA89 -20A1718DFABF780E8557602DB8EA63FA566CAF1518C0261B218D2D9F5FC3C429 -0F59F715AFF98FF485CAB673A38A4E58B37645CC0FAD687060A72F4B6D6D9069 -A4C5D612B6AE00B6F9241A358FB12B1DA0CF354D6439F1D6EC4210D9AE49D496 -3540E8B10E468F53F770A7C333779043E79F8E8E49FE3B554A99A282BEAABE0F -3D35EBE6927D4BCF1DAE5ABF4CF9E44A55EA019EB1F8B3A21B85E8440728FDA6 -E785141F6A283FEA15CB2E04FC8987D0BE71AA3565519DAE4B20A20139899C76 -E19AB5711B78B077D12978922A292D4425136AF93799A598C242E24459A1A63D -F29CE90F42FB3D7454635950FCBFD60E695FB562A50E863DC8E42BD1129BA58B -63F5EAA7169F949A65DAEF9124BFFE4D5DF1F7711B9DCEE9DCE113EAB4060046 -CA992C26D7AED7CFC38089CAC56D5F9897EC3E628459A56788D6B03933BC5A46 -877014ED1D703AB7CEE1406128111A0F2A5474B5A03ABE84F8A8701FD2BBBC1A -2F096AC0AC54A0D23F8A1F44EE26D9FEB4799D814809FA0B508E468A40208640 -B2C47992C48D7EA1794DF5341F1F8AE0C8F5ACC6DFFB79EEDD6FD3B720900DBE -03AA6EEB9CDF7FAD505C70454BA0FB883E2415C26B284407AC7D4C602C8ADEB4 -BBB9AFBAA5B44457DCC42D0AEB2F948A60B4833F50BD77859C6F8B975CE5A164 -E375EB1D42FCD94DB862977C6E6A9718C83840EE024F069B5F1E2927A923950A -811661EEC30D6F3789DE80CA4729DE366CAF8B32164A530FC3B04AD9377E1EDC -8E550C3ECABA1556101AB8278FA596F460F632CCBAD91AAD3684B6973AF3B543 -D5AEE13391B8D65BBB189C0D5131960E2426D48C9E07EC15EA94362050C667FC -861ABFC947E52AB59BC1F958AE8963F5A945CDA944A2DB91AC2F9D1D1E63C48E -5FE7A555F73EC3ADFC1B786770E19FAA2364B8FFECC695478C95394775A5936E -6F84955BE446E9CA13674DE40BBAAD2039060EEAF750ABD433FC540D43FB5A57 -93886D68F7581E85A4761FDD281913462FB5E925F8D8ECAC334ABBE8756D8BC3 -5B5F8D8F8C0097F40056173D3AEC06AD95E9B1ED681A9A7F6E1BBDA383AD61ED -B35952CA895FF526029A799122AB79F06F6890FCE493CA7BFA6285F7851B1BAB -F419AC37A61EFBE823569245AB01DCC45821DD1B1ADDCD46E226A4B4502AC8B2 -62CCAFFEA61B73EB6ADB9E0C12CAAC426C9F1ED39E7226F3430A260FA7D82BC7 -620DC66D883D40753BCE01231AFD9DE187FCBDE96C278336A37813EEACFC530C -022F381794B5F27EC031FC1DCEA982D8412EE373E92B4190C97D3DA3F5DA339C -5016E4A0330A11423AC54D0DE81DA44D2058F65434A44F01023C3EA18373E083 -9BFA31AD78489B7E2495EAC1F51C743185D3E6F2A34C37B414A8F93F0C684E38 -0364C3E1C2E75007CC38A310DCAAF98A9C750C80B809668BEB0B6810362198FA -1C23C00AE41C417A58B41B301FE702313064066D86B9AEFE97DF38222D9D9FED -D6052953FC39219028ECC8FC90900EB593BC5EB16A0F8C8C26C710FE8F5A804D -AA354B808D2E303C24E83312E06E366C59141943FACBD6998095AF52A963E7A1 -FA942A4FDCF44F55522465B82A18A4DF9199D9F46B1C2E0D5397F0A7AB6A552E -AC512EEFD176FAAC23991F465B3463F4253AD4BEDDC933C420A4F1F02E9DD7FE -48F779E08AFED30209D7A9EC92CB249770B74D6F82601E4F4F10956115CD956C -3B1F420EF3A6C0198E82B2A7A84397D66B32BA0CDDCE057612AC14E3A0F9966B -F78DF3FC010B4B0ABCB9EF44046E7443C87A035E4FF44D086C618E7C7E3ADBE2 -404698B4041781DA590D73A58A49B43FCEC92B58D50410B32A75F3FA0F07FEEB -1BB4540B375082BA01A325F1AB3EB48758AD9968195575CCC2B294E10F8D84F5 -7F49C4B93E7E23965B6CEE228B17D1E569FC53F95A6CF24EBDEDDF61B263C632 -F02DE118F608AD734DE71E321844E30CA564C93008D1B39275C86E03452E87BD -2CF46FD9ED6D7CB14BAF17916972B08021F5CEB2E85EE91447E4416D379F53D2 -BCD4825B12FF3EDEF9F439F146195F44C20B05C0E79E2F3FADAE612CBBFFCBA5 -07610B525421DA25B5023E851755445BE59AAEBD9E31CEA5E4DAB941907E63F4 -5A855D9896C783C88ACC8AEC447A946371E7F5E77EBA05ACF43F9F702018C5E1 -9EE407FEACF7A8B252EC73B2ACD5105460D430DEE2C3B78C80D81844D804B98B -30A1BE22B7278FBF24FECF61BA13A4F35A14259BB04BF74D17A7E7B7FA28CC91 -2099DD510B0EBD7394B26ECB33430C94CC4B3EA14374B4B838AEBA14602C876C -BAF1CE4A9D6B214375AE9E5BBEA54F424C4151D3FF6D442FD287B217C2D53A7D -5DE74662007FC8B7F8760D774FF93506EF1C2FDDE46788BCA28B9DDBBEC0D8EA -20EBD944FC83F7ABD0EA77E65D2F1B736206CB5E1D27B1EE8AEB42141406E314 -C2DCA94941F67F5CC0D788F43A3ABFFE4EFC9A825A69955682D36FFA18C7B5A3 -B5D01EE4BB944E9E0F8CA438EAD2B679B02B621BDA36CBAAF6395F158B699130 -E5CFB2512D99A1E8DE1C9B1EE13AD831924410D38F1DE14AA1F7D317A8F2E3E0 -542F59CCE9DA35C4878768885FEF99F21F9E9DD0B99C10A99B5D728CE0A72269 -545AC304C7998EB92BD47C5386AC22D9CD51E6FF45000FBE1F2F09F90EB265A8 -8B2D70B1BC088816F600A29AFD4FCACF313369B08959A6ED478D5874ACAA1B68 -B03B03F4DD7E58E93D92AA0A0BC28A9E9C6762A539494A890C9783D36B86BCD9 -AD173CDE0758F5B20F8292E6A504EF03FDA016763798BFF14410EE4E592F74F9 -9A92C79539206E225CD94ED10689BA313C26455F144DC6CF4B1AC99FF1265672 -89FC495D0B8A49A60266C06C598B7B372CA3694D123F7B05ED102BCDC0A9796A -D77C4F1D3D20C0F8FDC33D6C6DA3252F1DE65D98501CAC77972C876D1F206339 -3A2931084DB63E40DEADC6E7B1C27DBF88F5BEF7847F72DDB2684FBC0EA0AEE1 -C056A081F0ED0221EF59B0E50DD9B3E10DDEBE07138424009E6AC35F702FD182 -2D1BF5BB42C63B7D68ED3F0234C5299B8ADEDED4E5A3034FBF77430CF4BE91C9 -19F8B1693B30997642103F1170B861EDB14C98A278EF133537A9D188D1282D7E -B21E424025D52A99BF82E818AB3774485E5CA20116033B6F76D225B6A0350EE9 -1A935126FBE34C4537BEFA6A05209E0B8EC443A306679A8C2A59135421B9FB51 -B5F9867A1EBA3E76EFA33FF01CC61782F00ACE57ABE68C5AFA48D7FCD737EDDD -84F9B347D390A5A7E1BC307679BB976680D65FF2CCFE31F94B4357757514EC17 -142C398FEACAD6C27F7E781651E5590242EED22529D4B32E159563231F3091F8 -EBB51035A54E09DBC6EDBEBEF8D5B486887C6D7A1B91FC3BE0253A0100688CFD -285EC3F16070CC2FEE2604E7CF4E962D60946B473BF174DBB3617512C38B9DD4 -31A7C153FCF68BD9E4520C5E3449E00EA0ED7A4AE8BCFEBE6DA65958730B298F -B50C0ACB145D69FCCB1A533548F122D5CCA2CF1AF421DE5885059FF65FC122A4 -74541E8CB59F977876DE92D679F58401F2083E961D448568EBCEDE7F07CDEDA6 -19904F826E696C34C6CAFC680303670F28FB26EC355087082F3DD7597E7126AA -68E1F3334F4CD9243AC9051FAD8C76DD61330D89A58DC1E94D738181135CA376 -00BB6658A2F38D4C385C2D0D39797D973A647D2BA79EDBF98EC34EBE0982779D -612146B6EB1DC13C4BDC92EBEFD46B20FE0D904211BEEDD16EFDBC9E878B1495 -2BF7F5D38679388AE320D5D4A64DA1B32197A28A6B929BABA470EBA78A91A05B -604B42C95D4BF56B8602C2C1E539E0C49AA936AD9F8C3692F150008D1006EE5A -EFDF6E4E08782D9A67D1F63067F269C29CF655887D56D4264FEF5A3167EEC777 -C1F722A92E5C5AEAA1A20E9D82E3C99CBB6F1B331A441C5F8825737950A32D13 -8F48B49A783D379C5BE3788106A47F1DF1B49C8526B85D82941F2064732C66FF -82561D06AD28654187A6F502AC3178C8014D1943E287A2EF30D1497989840832 -A089DC38F5C36361FB506B815224640CBB4CB38C5D56D6970447D13D1E8A7637 -AE112A86DA9B2B0726CFAE85B918BF848816BD7F5BD18E974B38C77734565AE3 -FD487B855D2D65136B39A73FA7B66B4DEB01EAADE01972F5D39FFCFC3765E4E9 -47C1F855F43F49E67D6D9577CE32212096AD99CC00F93C0893F027C5264C4783 -65F434BE3561981A6F71084F39228156080E61A5CF9F8AD165684778BE5D1214 -1D01BC7C7F598BC28C87E6DEF4565D8A63388F93D5529DFB7254409A74CA5C78 -EF4214775FC75D89CB86B88BC6030F718F50F7D66FA9F74AC255681B6ACFA49A -0074F80A00339A36503478382D32E699C448B9303DF152E77E7573B535FFB40A -AE424DAC6A9AE56B39CFFE0B0367B5F4F614563DE3B4CA30586318CA250322A6 -681B39CFD58D9E7958AE206C8F2DCE01D899C44CCFA1D198AA44501ACC6B8CFE -EC811899F75825B49F396EED17D95703CFE367B5BC06617C356E5619F9CD919B -654DFC2F2ABDDD6360150D8A976058EBE34D113E7475480681AB0A1FF0580BE1 -FC9F7BC36EA193D2164B2EB8D623AC874E83A3A28724FC8EC1B5A9E5ADCE8462 -D4AF1963BA1A9F28932C04FF17AB32747D2416C856F1581BC01794D15B0BB02F -8BF8CAAB12843316FFE1211F2F595EE6E3AA4488654A16340147ED0B203E3456 -5410A26D8C9F2115E4156BEDE05CA81819FEFAF953B5193A4C3136FB16885F33 -CEE94ED70DB203C109E7D414E9969702D73FBBB31B4D82E3AAC88EA8D6980725 -7B88186C5DEF881E4DC65D44990D5ECF5B8504A3CECF4206E28308AE776244EC -005297EF7326F01704BD18ABD49E04FD0D7E7E519B1F038DEDBB3185951D66D4 -4BE8D61B18621E12C6B02C411585F53FDD0F68EB0B5F6488A928B5B07EE8CA0A -94600DE7113D253CDE2C76B3918A56E922A9724E7872C7E290C60E0CF644E3C5 -24EB1E65114E465229057EE787E736A981E1918D8FE798631FD4FE51885A5B65 -C14DE540F379D3C3C0F09DFEF903BBDBF66C563B1C62A573EB0603EBDCFBE84B -03677AF26C01317E5200D904E305FF3136593C252F8E623B37652A0E484C539C -A9C812E95CFB0B9824F8EE9F97A4C0C2E935BE89DF8C762937D25A392E01178F -95F0D1A6AE42D57C9409A96281BC088472F8CEDED2DBA08DA84BF6179C7DACDD -45F7DFA8D152161310F5B198FE8D4D7009A18799C7757FB47F029BF5F01B913B -4C66EB2D59689D5CD72BC59E13C7210D57629DE10685B1FA508DC3ED49DEC9A9 -4ED1D318ACB60AA416F6729F0DE5C57A0EC29C4E130B0487DB674BCE6F811BCD -F07DCFF5EC6B2384636422616E6D657075F5E01F783FB4F3EDC22E9EF3DE5068 -5690EEC6F5278A7BA6E2DAEB8084095B465E2F66E5102435B8A904848B708C59 -4997C66384E433D8349BD5238FFC9D69022345B02BAE6A3DE412892DB69D7B89 -EEE9266625B8EEA74B72EA9287307F64D91556CC94AA1D6CAAFCC6D6156D4F1C -E3EA366B16666D20599886ABA8734B92776748E5EB53D5B30F6084F7AB201D5E -716201027D7C0ED2F4966C0ABE9BB774763C7C5045C1A3F72B11069E13117E11 -7CC6885E1E852ECAB4BEB313DAC59534055C45774180E763DCDDDE64DB3DDB11 -50BFBDFE2A4C1D595F0017AF147BB002506089FB5EBC57B74283D5F732770BFD -58B902E45847FA0022E7B6DB9FE55D07C7BF57A6864A7734844CC534ED9951A1 -22DA3927A2A8140922EE41524F0BCE548DADC047A0489DDBE9CC612336CF5CED -21130586C0F48CACD6B13F932F76668D4532D3127599AE7037EBA388BF0E4879 -6A1E4CBFAA0022EAC1D44615E450B6F99522F2589D3459AAC8DD9DB8B72BCEDB -25924053F6809B3D25DA50E29C60E76F1E7F5B5320DAAE8656E939C45D05D983 -BECEBF267FF41F617766E30226972BFAC06D4748DFFFAE2C2D5E0003D4B3F239 -3A7FFA021D9AC4A2B0B62221DE0FD9E3D0EF80A592A2CFDBF306C4946BCDB069 -89584B013936438C89A1B42F77EA19EEF541BF1B130CAFD5D9692E48B0498649 -B1B7D24F131238080A70CD38D4F83CA05611C4741AEDADA722DC233AC6374874 -82ACE403CEDAF685BBA04CD1441394577550715434D80BB574B091934AEB7FCF -34A38A7C99A8E40A1527C47684FBF8FE6A0F51D1B216DC0863C1C96432199161 -C40213C79B0AD5FAF233A64B2029406DFBC47C8C5255541B6B4F1AF04EEE2D7A -7B68C47BC7BE7BF018A2B89A392E617A066256F393FA05924C9145D014FD9152 -B986C9E79D60F451878709FF0F3540B7466DC199221386CE348B65C98AFA536A -33D0B685ADDEAC414A479B3EF27D5988B51FDED72480F6A1A43340DFBFA9DD75 -D55D383121F9E713D8CEAE6AB1B297A1EC2E1196DF48E6C3589E5D0558E9C6CD -17632CC09EAB03F728BC4C67F7E173D6E9DACD99BA670244FA34CE78BA7807DB -C4F4BF52526017748E10F1EB223A96C6D76D50F9513FC5807D76103BAA33C2CE -4F959E6DCE32DD8EFC78F4457A05DDD932D4ACD754959A236DB415821A93D7DF -DDD91AFD8BDC659B59EB5B84A49BF6535562013BA7112D078FF1B717760C31F1 -A7F75F7FE7831849BBDC507FE875369F49680F54737973B85AA5DE4789623172 -4F09FCE02078234F752BA08CC6520E6051C93DD85D1677B01201D20BFD57AF70 -A0CAD6791D6B466F815468C5EACE0F9B1A0BE397E9695081348F752DC3810683 -272C67809BC5D021A412A7D31E55B42B6CABD4DDA8D917D7418A38505C2C2F57 -C9B9155FEDFAA3017EE7D1C75577E347FBAA585B35C237099C14C9A7ACA5529C -85AEE0D6E20317A3E6673CDE5E7ED8B4B983DEFE2C73C31BBCDCCB101919A6DC -FECD12CC142523BAED6F78E28FAB02E804590664DBBD4AA4A6992F02C1E054A6 -0FA53DCEC02036554C89A8BA6BB1CD3121E5388A55600481CF8E0C0952F401D6 -C3EA92D314164FF8E335035081D3C5AB43EEA5462A96EFE50CE071E6C17D1CAF -E58E244998FD425014E0B0B54B49740E82E0221DE3D863DBABFEB39C3B1AF4EC -CBA498F2A4CFF965DF4DBC6383F212D5427813CE902BF8E30B0B85320FD502EB -1B0E606B6A5E263648CD77C9F77B731029DA91B5A8AA22F401D844112C004E24 -83F0AE30D89C5A78F76AF0772D00A1E0BEEEC3E3ED5DD84C90EDF242277963BB -341049337AC3F33CE02DE93E8F5FF463A788A14E02A522F039FD7D26B0BEFD97 -BE429A0F527D7182EE133C5291FF35C7F269E1EB73575EFF92D9328B39406063 -3A5C0F208ABDAF933DDD2F48A1E8571B418FB32AC6686B4DBB1FEB65D7858678 -296D85EF316648D079375800EC712627B34926CF41C542F491472F5798EA2AAF -B6A9F5E540202B5F136DCD474D6C662AE3C7F11CB7A40D926E3CCDE38A87ECE9 -657B806688FFCE2B10E27AE03F1E9DAD1207A2A85B3FB70C349E2627F7FE372C -F3174D8777E4985ABB10F116042460ACE945591284367CC3BB3D312CCB4999B6 -F1BF5FA095E705954523C573ED0F0F10887A149C68CD0A16417DC30561FB66D8 -42CC989C6F694ADBB064BB5E6E57CF11FDBE72381B2399EC7ADEF283A9B0D302 -A1D969F69612A6AB78C6EA08E27A527B11AD2121249F117C7A56843B1E17B0B1 -D1E0DA0DD6CCEA83C63D60F314FA826259C8C2167542D16FF3B46CE34669B38C -1F1EA068CFD585F1F90AFC2DA5A7C3ED9E08DE1F9926F5DC4E0FC422123185E7 -AB7F6B6C8E1F33CFB724E4B3401541CE133B9F22DDA38D4F23489987C8FED499 -D4456298A9865B4F0B47F21190977DE56A36DD665CFF0B117FC3B697036D25E0 -E2103B98BB3787CEF2908A2797691BC01FBAF3E48850C048A870A866314CCBF0 -F9C1FA776B54B67134242A353514B0726B1EBB53352EDB15886980C6690058C4 -30F9EAF88DA2F1A54408D3836EEA6C5F00B8A5D2AC0063C86F266A2571A7E2AE -7C866962C0D6E7636F440A3B72F5BF141D73180C1915B757941DCA5D5B7CBA22 -7E841314D6E7303EA9506BE3019D85633B4E87EFCF6D86C36FFD2CF9A0672D8A -9517FEF736A5093D81544D0C75AFE7894B7D9F65E035EAE63E6B9A205B37FAF7 -4E76CAEFB2CA314FC615563CF3F4D1CCA8154703BCABA0EA88F62229C9ACACDC -03A56F203E46B94E0A13397C98604821E01F883E2387CCE3FD1A76EA4148CA9E -68BD8B49D45C39AB0C620CA7D12A86892AC441692A166F51180202F4EC3854B8 -50FAD53B2CEFC495A0393D832FD8786DCD567772E50B23AFC76A54A611BF0708 -7ECFB7488510CFB2C175428F1DE21520C338B48A6F4AC9EA487D4DBC690116F8 -6F896BBC3E4120412AAC07BFAEB390811B0E628793F8DD8C4BEF8B088AF00799 -06A59A9B27A74880B78B8637E50653985212DD45FE677027DF5C40B37465AA83 -3476022E907300C2C72D3A485F5D38F1A7B21C8BE16748BD1702BC49AAEC6E07 -B1BC1727D1DB053625AB8B3945DFA40AFF97A2018DCB532E7E8671A722C20037 -C0C29D6E0E06DEF5E0AF6B987E9D36F97B9EC014A366124918507A2EACC31280 -04C7F840EBB21B0BB11F81987310906055CE5BCCDF7C32880F7E2A0B40660E16 -941DDBE36DE54CDE16DE96BDD88B14688C08AAE4938109B81E8794A83D3A2EB4 -4A0BD8903FA386CC83FF7FE031FCC6F3C99DBD3DD961C713E8B6A395B55E82A6 -4423927FEE493B050C22C86467E39C0E1B341A4BD614860B102CFA6379B767CD -355EBFA68A663B583F56187B048F80E29238B208F1F062EACE8A2D7DBC83CC80 -218FA484AC546146A6DA52E5C8432255E6F4CBC3DCA58EF0691805817042878E -F3B77426C0A61E3D07F123DDADEBC0F4D8798ACDCE3106B0E722238AE0B0ACDA -EFBE54FA5AAE849219E77FD7650105F954DAC187B128DC3DDDFAC7C3494A4644 -A647D090084D52FA14098E35ACA1BB77D98E658773AACB3D7FB0FA688384E32C -072833618C72F007500BEB9E3FB121E4AF6BAE5493E1F7C105252486AFDD8751 -DD35C516605C354980D1F01307597B7985146464554C49A87E5D6C1E6BEDC1EA -3F575A376B5BE7EB71548429B8AB2E6FD6A1D5D02B254DAEE84886EFE5EFBEC7 -7BD25B41952FAAE6D91BF1448CEDAD1C5336F06655A9EA3B23A094729DE9FFBC -51C659427D9AE9F3B5E6BFD4818475E1B32A9F9926AA17D9E4E6D9228C473641 -4B1EAE8C048EDCB5922928A9C8212A808E1D039B8AEB42A0A2CBDABF6383EC04 -011D88EE5ECE841B10ECBA60F37AA1EB1B375C5306D2CCE0BA2855A71955F05C -5CDF7515AF810EEFC1D9746E80DB8C6D1F1660CE961CAD132F9A194C5A5C331B -EE6569884A7DED0464C622EF317CB84590236ED09E4A2811494884EB156215B5 -9F71D6FA34C119186C6C8E7BAEB668201C6E0D5A7904E5C03AFBE8B05BACA12F -ABB1F44A6AD6056EF703AB3A493D96813F4A685ED14953A35F57102DABFCCA77 -0D8CEACDBCF4911AE0A6FB53BDD7463DC5E38A9BEC309A087F718947C99749A5 -E6EC7CEE1B0BF87A7293CD3C778A826BEBC455FCA9D89C56824DC3B5FA1D29BA -10FA582302106DB094EA752F77981A5F15849F57EBD2BC97D65610D2F9FF2467 -E24CF3B2C054C716F79C50C0C52F097ACD4E959C81A8E3D6DB21F728E19039F7 -5B567634A64F8D416E96E20BC194 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark{restore}if -%%EndFont -%%BeginFont: LucidaSans-Typewriter -%!PS-AdobeFont-1.1: LucidaSans-Typewriter 1.006 -%%CreationDate: 1993 Dec 07 10:43:50 -%%RevisionDate: 1998 Aug 11 09:45:12 -% Bigelow & Holmes Inc. Pat. Des. 289,422 -% Lucida is a registered trademark of Bigelow & Holmes Inc. -11 dict begin -/FontInfo 9 dict dup begin -/version (1.006) readonly def -/Notice (Copyright (c) 1991 Bigelow & Holmes and Y&Y, Inc. http://www.YandY.com All Rights Reserved.) readonly def -/FullName (Lucida Sans Typewriter) readonly def -/FamilyName (LucidaSansTypewriter) readonly def -/Weight (Medium) readonly def -/ItalicAngle 0 def -/isFixedPitch true def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/FontName /LucidaSans-Typewriter def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding StandardEncoding def -/FontBBox{-12 -205 618 928}readonly def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F093A8DD28A1105B8F1F45E83350E1A28A9FB -120979EB7214FB22705850743580927667FFE0A7F79B201CE22DE069A46E69CE -07EF71A03D0719532050C8E023D2D3B0BC64AB04C9048B447134BA084A29DE31 -AA6C3E58684B266860B1428F95F838E5E279C2EE9D6C8BD836B1554C2B17A1FB -3431BFCD994A9900889B090388203BB5EB869ECD8E5374B724D279E941796B51 -2B9A129F690746109B89666D1C4DC0594C07C7BA3A993BD85F63CDB6911C7173 -D4BC2B5372FE9DF6F902A1AF01F36C4E12A93A5E8E781BCEC47D70E12A13D9DD -E203E7344655838AB5D9E0332A2F41E29140361904C0103B5C1CC6CD9185F359 -9166A1D59404EE64C441F412802C79896447F0CAFCECBA339A7918DAF195EC11 -5ECA390C6E6BE029A13DCBB49148B21B6675BF9BBC168669BAA4EB9A6C0826DE -476186CEC9462EB3C1C34F4BD2C3DE28426FE84C3747D3894735856D585C7565 -3493F792593C9F2DF043842CA4B7334F101019DE241FFDAB47BB7AD92208F155 -9E173E7AB4B4B20A31FE1934CA70C680AED8E7621C8AE143CE86C70A831B6811 -D838290481144F47547D034A893A55A70ADD53FFB9184E32504C988DB7B866EF -D978A8BEF2D95B7284325DA96DC5EC4CDC72BE1FF19A64C20F06ADC0511C2DEE -D173897B9CC85E2797C5FAC9BABBEEBA98AD92AFB248FA68493462A254182C4D -74C6015B2E051A6C01EAA64D5BB8AFE4FBAEC50F70C945AAF733C7B0F7166237 -0BF63C246E94023837575D02BEC675BB4B5754D6A9D26140BA17197CD4A6FF4E -01A45898DD0F2BE9148FD403D181CF3B498F8F696E6146D2E5511ACA11F04D70 -E268F1D4B5DE04B45FD7B2D6290324B1C341427D0A4107DD587499B7A4B09E56 -92F323BC687A2F4EA3B19D7E909D7E57B80AD9F00D0CC3D3B7A1ECFC649A6142 -11EBEBA3D0A82B2003DA541162672A62617B5C7D69D73B3D107D4E9FF30796CA -DE8F0C39DF8F351E153B539BF8237387D56F9CAEC0D5C3C68A433198010C94B8 -8ABB8D8D08262725A0904BCB5EA7C17A39552A1F26283F54A8AA17D716B28286 -06C553F92C65BC84B42D8361F4F4AAC58F6CA8228F29E7E73BC9CA5E20B1B2C5 -ACB704C5AB8E84B4BB49A972F49D260EF7A5A6763155E7FF5DB75C1A20FC3A54 -B30B97E23CD3030B8255F7C59FCD30333A29536DCB1FFE24A9224B08CF14E591 -7061FEDF22A5CA189508F1C6E52F1D15141F83FFE6AAE18CC0C8944004642195 -78846685909845C2A0B9924D7BC3394593C5B714D11C02CC38D1DD42E3743CD9 -89FF2F781D1E47C6309659B02050118CBD931E99A7EA9CF38D4DC9CEF2618FDD -A774EBDBE7A95014ED450627C39C2D01215CEDDAE51158AF491169D7FDCAC504 -4E1EB97149F9616B2BE2C332D736A277AD129893E668AB6E56729EBD42E0590F -3089B1CCB31958BE05D50483317505A8B7891E5023062BFA55918CA493180E5D -EFCCF303FC7994638F0F14DB3C180F84CFCACA59F16FCEC9F8C1BEAA555F7D56 -544EEFEBF1D3F3CCDC189380F5A35DE65E45B0135F710FE5A044AB0E8D7E3E68 -73CD7F574245CB42154B3241037B8AA1DB2A52AB99BBA392E127C63CD8959D9A -65EF45AEE10546E33593CB959BFA693C5E3296F653357D5368782DA29016C87D -70824346621EF420E7F2982C73F8942122D709569A92AFFF54C0ACD377489056 -3561F6EB92307AC314EBA480C184AD8F07CD7C6689E3A8B78AF75972140DA275 -C25E80658F5864CFC3C4B17778DCFC0217DDB3A85A0A284B863AC79188F0E884 -2F590B0085CFCB984961F1CD5EDA44A2417FC94C3F69B34ECA68F8B27F929DA6 -23BD36780349A3383193FA419DB7587DB5F5922047941C76D585FD8A324639A4 -99E137A5A092F17D358DCB42CE0BE35F8144E2002A8954BD5B13DD4572D53EB1 -9881B664DE528A57110A96B88325D8B21EDD46E771AB9D6FAC3A27E55198D0EE -516FA4D2E555C2E1E24231224B4ACEA3B8CFC9140FFEBDE5DBF52B698D593F36 -4EF5244E5C2ECDB3C7CF828FE728E6F4C99DDCB5BA5FEEA87AAE2B9120E5AA44 -4F64A64A0E6703534E93E08D96B612BF0C2ABE3A90DDEC4DD57D22D23B16F7A8 -243FC9CB2229D5B0142C50820744E06EF35A656F243E44E6D85747365B2ACEC1 -7BC0FF1579B936B58E4DA0E7332E8D2A3403C9C0DBA6785D535BEF2E6F53BA13 -CADA440506513B9DB5F7344BB7D0DF0A1DE792CF53A1F7EA532AA8F26AB1F77B -FC0AE724678F69DF20A093BBBAD9C03510CF28BF2ACB640167F539509184350E -C343C85483662486008F30C8136AE86E9BC61E9C1FE4523E7319D0A1459D4AF4 -CA3E25ABEE3FF84898D2AD8C05632CB2DAB23060C8897B8EBAD04E05797C4119 -7F77ECC27DDFB51EC441AD9B81C081229AFD69BF599FC83F56F85621AC7DF5E2 -49AF73118C9823A693F5A90CE04C91F3F45E3A14562065620BE6E77AC7F78950 -20BC2F46A2412DF008F552DEE49A701AE8572A7DD638B5DC7DC5D627FF9D5CC2 -75A64EE8695B96B49130909A70334FBC6C9C897AC8CC1631E2E0F61902132F2D -ECE8905A29E776978DACE10B6AD982CA4C80F4DC6ED8AABB58003444F93682EE -2F1FE8AFE0670DF5E4BC47D6A687951B22215259897FA61021ED425F565D92C4 -F614377CF4D5037FA2283AAC577783EE72BCD98BCB05F01560F6DA2A6F087163 -C374A355BDA461F252CB9ED18195F08B051E9EF5AAA28F777E4B38F62EF56EEC -3EE18494D13A029420CB695539D43C062F396D9CBBD1AA80E2362280A0F91AEC -3A1E5D5E2FEF17B65265C9A76680CFA3A67D589C574FA31FD4122A54124C19BA -D8B0AE29EF4B873111C519537C11F8E32A0DE7F1B00C0C5434ABEADCF1323766 -9F1DADA849333F1DDAFCA7FAC202D9355F924C856231FE5DA6FC520202CF4D1D -F2047A7B2E9AB3BD3FCE1504892B17EF92053C4E7C1E1790D9FC2341291F1139 -A23D6AEEFF1023A3D84E29BFA4D11F5F79BB7E9BCCF3D1B9C0498C448C9D873C -45060B78BF529CB5F5F4324540C415147AF4EDC20504B77FCA9B275215D6B710 -5A14F6355EE890914DF8EAEFFD592BCAFE306B7401AA39AA61A760448D037AA5 -318C90F8EC19FD29C47B622E863C651A0054BDA26E4A14C0E6DE8DE3FBD5E295 -C59B4F4538075C8BB2347E6619D0FDB77CC23C3DA462621C2348A7C611D6F521 -07D132189931FB8BA438606FA02B732C1649706F5BDFED4AC10C607F4240135E -AAA9237C12F92559BA3F0D48F2EFEF55B620932D1B397A8F565D1F9145C81348 -7B06D15C33162AC05B9D7D2B7F5115538972801845639CD4B53953B33D1AC75B -15345DBE9977CD34F786C80D8826B7C68473EEFCC107238DE011B0A08BEB5CDC -F3472CD3619146BFE3029848E69DD2A3ABFEC7612E15059A6BD6808FDD27FE78 -706C3D705A8D5543DA4787059081A6A585A023EEA94A804E8BFB6DC285BFFC4A -759B6AADEC57A2E38D6A681D7DFEAE21ABAC15D147F15C61AD76623A26225973 -3B3344B3C18FE43DC600BD480CBA8CAF9126E3612B0389F3618CDC776C1A674F -AE69FF7C2EF73A5D6EA1F965E0928650FE30A83A15C00091182783623694A93F -392546669D87BFF1E19531A0A4DA1CE63A550BA4268110A665BA7B4091B85A2C -F846EE895ED1D2D40F6E0173A1F092DFC8DC7C0D7F506660715142C26D8D8BC8 -7CA02556A50D18B642A4419844D92E160D53481B097B43E196153EAED66E59E2 -575E6EA8817D4A3BEAB6276E21F36104C234C84ADD48BCAF0C16C583431535BC -379BF175AD135A368144BFFA48618A0B734DD5BCCAB37F9EF75CC006E0CFB735 -84EB71D0ECF2E74C10AD6C6980CDD73AFF6402879FA59D6444D7C57A5AF99BE4 -E19B0AC28C5518130C71CC70E85259C43AFE47F482E880F3D982D02298742764 -01CFA264455E90C789303DB5587BB836EF15909A1BDC9077F70F2BABD919636A -F8239D454135EFF2B9C4FE20F19AD1CDA32B4C4F709FDA6EB7885C9BFB606366 -6855A5C672AD6C37B3C03E932C5284A0E87C77EF00A6A494F034F6D97DC28D94 -F3F277A02BE0CC2C08EB092D1B42F3AD513A10F8DBA26EEA6E6060E80D52B199 -D3DAE4428BA8B60D429A8080 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -%%BeginFont: LucidaBright-Demi -%!PS-AdobeFont-1.1: LucidaBright-Demi 1.010 -%%CreationDate: 1993 Aug 11 14:19:39 -%%RevisionDate: 1998 Aug 11 09:45:12 -% Lucida is a registered trademark of Bigelow & Holmes Inc. -% Bigelow & Holmes Inc. Pat. Des. 289,421 -11 dict begin -/FontInfo 9 dict dup begin -/version (1.010) readonly def -/Notice (Copyright (c) 1991, 1992 Bigelow & Holmes and Y&Y, Inc. http://www.YandY.com All Rights Reserved.) readonly def -/FullName (Lucida Bright Demibold) readonly def -/FamilyName (LucidaBright) readonly def -/Weight (DemiBold) readonly def -/ItalicAngle 0 def -/isFixedPitch false def -/UnderlinePosition -100 def -/UnderlineThickness 50 def -end readonly def -/FontName /LucidaBright-Demi def -/PaintType 0 def -/FontType 1 def -/FontMatrix [0.001 0 0 0.001 0 0] readonly def -/Encoding StandardEncoding def -/FontBBox{-287 -205 1122 928}readonly def -currentdict end -currentfile eexec -D9D66F633B846A97B686A97E45A3D0AA052A014267B7904EB3C0D3BD0B83D891 -016CA6CA4B712ADEB258FAAB9A130EE605E61F77FC1B738ABC7C51CD46EF8171 -9098D5FEE67660E69A7AB91B58F29A4D79E57022F783EB0FBBB6D4F4EC35014F -D2DECBA99459A4C59DF0C6EBA150284454E707DC2100C15B76B4C19B84363758 -469A6C558785B226332152109871A9883487DD7710949204DDCF837E6A8708B8 -2BDBF16FBC7512FAA308A093FE5F093A8DD28A1105B8F1F45E83350E1C85FB4B -8E0949C46537E67A9D92EE02E5724E15F8F3B3E93C8F35B871FFEA1B4DB0DB19 -B21866F8DFDF2DCFA70C3B351F8279D762826688E0BAA2A93A97B39FD3DC894E -BE465409060FB4A755BCB74CCF9250ED2CFC57DCF3888B1DF55F1E8FCB6AA441 -B3006FB7A4CE515E6EE633C9C492186870A0935E897EA3CB3F072F9B78FD4BF0 -A8D1466FA5EA1CB4D188F300EC0C49B3F67B0B7F39290107FE36BD36A6DC32B9 -E774FDD17523E7AEDA9B664CC8FFC808F3450F244B6D2ED304C838A9CD353F30 -11BB4F0EE55209B464ACBB3501EE7348661D12C5846573444207293BB2B16730 -719E5CAE448461186329331A717AF04574C8F1D8F3F26C2B575B6C182E390E00 -8817A70D21F5DA3ADB0EEAA86FD793068922723A28DC27060F79E34533749F85 -AB9F381CBB865FB8A641BBBD0924B947734C73FD7AC576C17638941885EE92BF -3C0D2B8F5374F36FA27FF568D6DF65D2DD3FC9D67268B6551AB2E4EA58BE1E93 -E6E016233E7D4E8D54A47418CF91DE34178FDC9666D9EFC7D0E1E7FBF2742CDD -ECBE888F47B4C192212D8E1E058A2DC36A19A900C20BCDC50E8712A8ED3E6D23 -CEC6F81C987F54CE4F7174F6C4D80055F87B980427CA2095E2D236055D8D4F24 -A5AF8C162D8C5D0918889614FEB7A2D51EE4BDB9E6E9840FE2D8A1F8B975B64B -76766095B00B3BBB75DBEE08A7E5877208A658006E6AD382239E2AAB88824048 -5B0A6E4018FB03C530C2DB257C42BDF8F4324B6D4F8117D51896E73ADCF88131 -996F6B19CB8FEFCBC7FC09F9FDB1F478E3990DF27DDD98272660643BA5293F09 -EA311F49295304D67B63178154B496940A35962879E04DC0D6283698A574592C -951B42EA7469609F072D384661B2F06F856541DAF493CECD10A54A3281F18C95 -43719F90217B8FADECBD0A0255ABDEB555EE5EA7AD4D7782A8387E49B8F4641A -F333A71119C04E7C670E03482CC063B75149A74D1489DFD974588112D4CB6303 -89A4F601F288DC3A55C75248E4DB744F6E0C54E83C14066C3443BB3AD6DC4CF0 -05D393672AF65F0D015C86E975DA613B1A7BF337DA8B9939021638949FB0039D -A5F622FC4100B2ED4E790A79B996D7C775A472FC1F39ABD4BDEA1D5AD143A5E8 -6CB8B7FFA77448B48C85E46121067F55360E3E2A83100A7477F0591A23CFC73E -FC3F8B29E27BED418F2926E3496E3DD9C4C65867FE27A3706B63E838D767065B -E62A4C6637A0FCB6836AAAC07E50D024D45A9A51D740B3A96E7AB386AB4E1154 -350DFD382B371DA1EBCC42F52683F8F49270A5065C793517EE94E6FDB094D882 -E2C716E592FB4DAB538C280A8164E79E8841E7080BFEE466A1D97C63750404EC -5E3A3F07070905E0622558353F91315BFDCEEA44345BB1F938A561CDF4FDB94A -ECC50946E35C24843A7B62D21FC003739276995E30218C8E845A418D697A3875 -96180740D0CEB6C5B14CFFDBC5AE92C777114569740FBB5BED1DE0646F56F9C7 -FD6AABBE605A4785AEDB5A295F77C7F3597665D53F539E269F431CBC87F668E9 -9B42621C2C212F7FBC125CD7E22B34A5E2E9064C6443F42ABD28940932FEFDDD -1A0EB7BB9A900DEBB6211CE3C17EE39CBDF02CC4DB937D6D65EDCEC72E05BE70 -6BE6BBF540B73C9268FBB2ECDC51608951A6720E2C11C10F3C61A201262D85E0 -479B51BAE5B57A30844CDFEA6506CD5686D98B39AB7430B63CF0AA378B53F687 -F703558DAE23665B1FD2DADF6013E01082F9D8123A4AC2F36BE4210E0AB3B21F -2EAA800EBFA9C86AD6D937F0C76DA62C7C44A8456C90D18E5663632646CC97FD -BFBB1AC537877E4FB07EEE6EEF5803B850BE68193F5E23E31CACB91A692CCB05 -2937052B6DAB8C02FBBFAE92983B396478CDA35BC3F1E4B5686D6A10AC0E8CF0 -DEA7DA19881B7402A86FC94651A5F857CA4C4A88CC3673E1CBDA35F3E0A293F6 -B321287A6CE2DB2F6ECBA45FABD9550C187F17A987C761F8B61F42CFA8CB1A4F -90D21ED4DC9E5CC0512C9C3F7AE1A3858110044549CF53648510388D1BE1DE71 -BB00FD82A0B7EA1F6B653685213207D10B85D19D578718D637AD0BA43F25AA0D -EB5235E70EF63788154D9A74857C7730449E1984B04EDAE8B1EE0DE1E4EF7BE1 -3D95DD16C898748C1D026197BF5DE48A607A46D2B8EC4CE738C2135F89745E15 -A6815F9DCCBB0341A60D255609C293876FC0CF3CAF1CD0400E4AE09D44DD72DA -7D50680F1D903957F2FDF4A84F96CD019F9C02775BE06FE300093652D986941C -7B1B9FC7BED14BB903EC66BE875F2FED6D8C0C6CA0657270010ED6BE2A5A1B55 -19E85D2EE252D3F04655CBFDA4566BC870528C4FD8940971FEA8DF73B718FB94 -45722C3B50DCB437DF6E518BF765B66B1E674E79A8D053D902A94AD5A3EE7570 -03F14EFEEDC96845A7D73A8C48CCA72DFF86EEEAB106ACAB24B88CAB8036938B -55DA649EC8E5B332A532423F9E1F4E57C6F2EAE2E28DA245CF5A9E7909D36114 -DD6004726643092F42A67EE784C1AC964AC3DBA158DBF8F477F6E757E1AF2574 -1872DC4238FA1C1B8059EB4B11BB65CEA4CBF519CD4D1EA7DD7F08DEC1B25535 -99AB9825918728B868B3AA59D66F52396DC8366EF0658444A03E10EDAABDE7CA -00B18B226FB7B22C78454297C7BB3F5BCBF2412175AA1C4FDF7E79C70FB1214D -6A9C084BAE2DFA603DE0BEC4EA38F08B3A9CBD30E81B98B528A087DFA19EF923 -237465D8696CF8F5BAF6DA8989774ACFD442A06B9BFFA4D0C10F163838C2BF01 -30E8EA2AB8F95AB54E2C062C7546A3227931C1FE2C22D41AE7EF9365E29ECCAC -34C2711A70D9C4921940795D7BC356146971EB2CCB636B4D512028B138AC87CA -21015749FEE7BCBAE79E96A3B25B6EA6B32AA0CB3C522EAFDCB5EC4D3518092C -3329DDA6019F58908E9C3813BE1EFEDD7A9E9862D01F7BB852E308B42F72B5A2 -CD4DF2A05ABF7CDE6977DB56950FAB75D47F9EDFD5644F56D09DDA5F61F93969 -978E007A8FC7FED44A4E85D27691E651E981FE647D03707515460A6A9760A39E -4D26EC05ED435B5742B9BBE1B00B630C49BE768178462BA6C8E1E0030D9B08E4 -D94ED908816740A02EEB4F43290E43D895488B80D5D4B0EC2502DF618406C788 -D458FD6E3BB082203B6250D255E3550CAB2937EB8912FA88CB9B7EEEEED5AD05 -206BD9533D607EFD797CC41B64C6E2273CBBEBBF8FA50F2523F5AD2499F49174 -1C203BD16325744724512D4F2BC2618DD3F109D9C52AAEDA5EE9E4AB406DC1F2 -015A90C5DC9DF127E900F604D5A22DDD6FED2ECC93CE5396EDB54D49987E6094 -24E48CC4691B4B422C873ABC84A4F5900D98811EF530D3A23F8E8F30E0BD5A1E -2C6F3EC2243BFECF17867643B0227A66C525C0A3842B6FB5466B158636F5AF7C -0340EAC929330C4C37C4E6A8B1A2C66CA1D91578D4FEB5DFCD1564E483B4CB34 -D8EE38B95D2F4FB183433141A02993E1E795C5EC45DC68CEC9DC4133FBBBEC2F -D3E050C82C60D87E85B67B8E8F59A14395AA88975D64961D40E9BA2EF074FB60 -3D188643B8CEBDDF4C3B30D674A1AEB6C8C3E0B256135CC77B3A4CDC0A1E9F19 -1300C3FFB4672D49F46405FA7B1743A48B6B055CBEA3ACFE3470FAF423F7F609 -CBD6B8D13C6575DFA932C6C2E33A3CA1E6F468A97B008AAFBFBE7F59D33746FF -FC8B7A641617CAEF381F98A64077C74D0A750615E657159D60D27EFDD672359F -ACAF24C997895E85DA91A46E2C2A93FC5BE6587C65454BC3200CFE3BFE4E6703 -D8885066337A1C325FFFE0DFA71606F619099305ABDA093EBB1FEDB040C5A57F -55DC3762A4FA0718BBE91EC9B75AF8CF4DA692A2F3C608DE81EA453AEC156768 -A95035AA131552247AD8D85DBA90F7CAE0476D1BBDD76CEB8D1EF7402976457B -0816F9F4E2955E9254DF57372F057ECD00EE79B05F8EAE210F0E3319A0EBF1CD -7B6CDE6FFDE272592990EC2CEC4A54F18CFB2DE2E347BB274369FB86A36F4E47 -0082DEA5D88D4F05D023081F678CFE58E7D9AFF5343BF2A456C42FD15EF7899F -1B2DE6186C5F08DAF34F5EAE33FD7097CED52050007FFB75CC78DFD646A8DAD3 -508F9BF37A8BDF68425A881A239D203CCC7640C505C32438B21BFECABC304B25 -BE59939BEB9CC5A8F3F8AA5A18B2A8C1E8EF9FCBAFF5CF80B7458E4EC14E9C6E -78C9EBE8FEA91B5C95AE0EC12A0F552C48C519B5BE339877DCF7697BCFB86ED5 -76C66E6A6DD54F4C7DAA5834443D63B2F1DB15F6EE40544BB4A0187EA177F934 -F930B7239828D849D12B8C973435C3DDAA8FCB41B1F9EADC6BC71F9E8C6648B8 -59D6D91E295A36E58D2E17C703B754699983F371F605BFC462EFD8A7079538A5 -63A00B1E3DEE28B7287861800F9CECEFC39919927337E9ECACA8D7D9829B2591 -D8B6754F7A02C6715587CEC78FD539ACB8A9EB92DF6B4F55321F31A914B8808E -6DC0C43C7C18CA5AEA0E71142522022F51862EDA124274B375B4631F8E32D8E4 -FD799590D4ED552209C80F5C59EB3F9EDD58EA2C18CDB0A90323013932ABAA9A -D8C95D1DCDC6704F26D995F20B2F2CB111E2023A4F5522CFE857699A4123733E -B3BFE28D3324575C95E27F4B0484A504C16EFA8357EB6C414CE5875128361B40 -0C0F175A2D16AE1FF8DFC7FD672CC0E8B07D5327A084F9BC0CABE0598A9C3DD7 -1A23F408D23839C9B46B3217BE6F20452106B9BFB35DB0DB657D0C0F463C0DD7 -8D62E30396D1CBF5149219C4058E0DD6F6E1CDCE7D8742502490DC51084B4610 -D578B52B7B382FE9052A9F0555C9EB64ADF49118B7CF472FE10D04343E0C4853 -E720286B6F14AF5BE28FD1672FF0D4D8F7267DF57DC25AFAEA9603BFB4A339F8 -A6194C93F304A4F9876741D0406E95B7FD97DD5F0AC41AE3629E73376D2F261E -1B954283552E4BE25A727B74C96DB2C59145192010D323B1F56E4DF96E778914 -C8C4B20D9A15DB9B6E55D41463CD63689382AD45D837013501D46BA94B3F63FD -0DEE315187EEAFBF661F20F5A2442ABA5CBF6935D8640B9BF636AA116AAAF266 -34BA0762789E2317B7D5CDCF42F9B15878414EC5EF166A28EF47556ABED44624 -79C435F19F515251ED6F25CFF52848ACD7A2AC757440BAE2B2115ADC297679EB -67EF99585457C8078A708ED35AEB86C15730BF3A7AAA4229AD4EE31DB46E232C -239405078097D02AB9A1FB97EE6D6F2500498B9CCD8A87DD759A6E34281ECDAF -03734790C3F6323EA7E3AB0A4695249E89B7DB7E3A6BD87914A5341B2172C116 -3F97187141F671DE835DE1378576DE25A0424EEAEAB30528C4352DF96840E3EF -8D111B7C1355CA7C01BC6E96FC7781DDA4FA11D2246EE4505C8EE0D8AC6BE84D -D8AEEA27B133227E9BCE7CBD112C8592B57BB913EF8FCD54366DD5CCC3019E46 -3CD6ACA285B846A46DF25C7DB1284A344130194379F4337A437F91569758E0D7 -5F79D6153ACB451C8DAFEAA357B8AF8F1722CBC5DCCBECEC5B1CF3CC81D6F153 -DBA3B35D5A55E149C1F9048C0BEE5853B5FDF77CF3041D26706A750A2B5150B3 -72728B82EB0AA9DC21A4265EFB0164794AA7B4DDEFC9441D57E9231CC57F0654 -A83F5F8969F1949ADAAE297140C3E59D0E975E6DB23560E9B9B5671FD8666C4B -878D898D38E34BECFC49C52E85A66D0F6197FF037B9F8420165210CE849337FB -AD86B5C4E461E54E2F46625B99B942269FB8152FC5B83E606E150102EDCD1264 -6DE7D701997C93BC5DD8CB90D6D2CB99013894AF6730184B7FD52274D77CE6FD -27F168A18C760721D551AD127BA78F97EBA581E132537C660630BA9A5E88BC8F -3A09C83DB706A9C6991B1BDF819934B221375B29460C5C9B1E8D26F7B4DAD37A -B4145854461DBF7F1B33E22C24DE1810BB9421049C54FEBE01002DB9ECAB218A -46AE61F223ADA791441580F70A7ACC31B3D4BB832F703F70F37AE1DE21FCAA0E -559D346B48BD079EE0444039269A8B0EF29F611B66866465D98E7868E218BADA -39FB04FFDC5378514A552D2ED6806D9C0CEEC67D9EC3A5B288575522B5B8DED1 -52BCBA9C275F5DC2956325BC0BAEC3D55EFB11B4F6F23184C9073A3D424B4798 -CC3D7EA0D06E14E4E02E59C176A53EC7E8AA66A78B3E723673F6188806D65A31 -CF67C6A5630267A7476A6154FF59666072150C2E7CE801590E697FB3F683805F -BEF78422057AC1C94F05AA5BECB9AF69B9C1B9757BD631983747B985AD3D4A39 -753505BAD1C6721584BA0D2F6F0F04672A9BBFBA5C7EF4DB44267D7BA0EC0871 -80B72061CEF1D21F3B1986D3C5706158C11E0CC785B7383D902896B2F3A2FCDA -A2017A2323F2BFB06C80035743E4FE19A4B070B9D3894F432425D1EFE33E6112 -B9B7E66E16971E73EA04A387885B602CC8FFD866DB3CC1E5492F176EA0D2E90E -011AE6438C4B5A540D6CC434D550CDA2641B9F5C850C08FD9FAC9CF43BAED59E -6DC927C793826DEF390F626E5FD6C154359A41FF90E4ACFC -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000 -cleartomark -%%EndFont -TeXDict begin 40258437 52099154 1000 600 600 (wieesgeht.dvi) -@start /Fa 135[38 3[27 1[30 2[41 43 64 21 41 1[21 43 -39 1[36 44 1[42 37 16[39 6[22 6[41 21[18 2[21 21 40[{}21 -67.9953 /LucidaBrightCE rf /Fb 139[45 45 45 1[45 45 5[45 -45 45 3[45 12[45 2[45 2[45 6[45 2[45 1[45 68[{ -TeXBase1Encoding ReEncodeFont}15 74.7193 /LucidaSans-Typewriter -rf /Fc 27[41 105[45 41 3[47 29 38 33 1[48 45 47 71 23 -45 1[23 47 43 30 40 48 1[46 41 6[47 1[49 1[52 1[50 40 -2[43 2[64 1[53 1[24 58 1[41 42 57 52 46 56 13[45 1[45 -2[20 24 20 2[24 24 40[{}44 74.7193 /LucidaBrightCE rf -/Fd 141[41 1[57 54 1[85 28 2[28 2[36 49 57 11[62 3[63 -14[53 1[62 21[25 45[{TeXBase1Encoding ReEncodeFont}14 -87.6717 /LucidaBright-Demi rf /Fe 190[43 65[{ -TeXBase1Encoding ReEncodeFont}1 54.6286 /LucidaBright-Demi -rf /Ff 135[45 2[49 29 7[24 6[42 12[52 3[53 2[61 4[44 -6[45 69[{TeXBase1Encoding ReEncodeFont}10 74.7193 /LucidaBright-Demi -rf end -%%EndProlog -%%BeginSetup -%%Feature: *Resolution 600dpi -TeXDict begin - end -%%EndSetup -TeXDict begin 1 0 bop 0 0 0 1 TeXcolorcmyk Black 0 0 0 1 -TeXcolorcmyk 1677 577 a - tx@Dict begin tx@NodeDict begin {10.79294 6.21198 91.44824 45.72412 -2.29048 } false /N@A 16 {InitRnode } NewNode end end - 1677 577 a 32 w @beginspecial -@setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4 -true 3.8 neg 6.21198 neg 87.64824 10.79294 .5 Frame gsave 3.0 -45. -PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore -gsave 0 0.1656 0.584 0.116 setcmykcolor gsave fill grestore stroke -grestore gsave 0 0.1656 0.584 0.116 setcmykcolor 1. .setopacityalpha - fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore end - -@endspecial 74 w Ff(L)1800 564 y Fe(A)1832 -577 y Ff(T)1873 597 y(E)1909 577 y(X)23 b(Quelltext)1594 -935 y - tx@Dict begin tx@NodeDict begin {13.80516 8.4301 111.32481 55.6624 -2.68753 } false /N@B 16 {InitRnode } NewNode end end - 1594 935 a 47 w @beginspecial @setspecial - tx@Dict begin STP newpath 2.6 SLW TeXDict begin XC@black end 0. -true 5.6 neg 8.4301 neg 105.72481 13.80516 .5 Frame gsave 3.0 -45. -PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore -gsave 0 0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave -0 0 0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave -2.6 SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap -stroke grestore gsave 1.0 SLW TeXDict begin XC@white end stroke grestore - end - -@endspecial -45 w Fd(pdfT)1884 958 y(E)1927 935 y(X-Compiler)875 2684 -y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@A /N@B InitNC { NCLine - } if end gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore grestore end - 875 2684 a 2794 700 a - tx@Dict begin tx@NodeDict begin {18.61697 12.98303 78.42354 39.21176 -2.81697 } false /N@C 16 {InitRnode } NewNode end end - 2794 700 a 32 w @beginspecial -@setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4 -true 3.8 neg 12.98303 neg 74.62354 18.61697 .5 Frame gsave 3.0 -45. -PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore -gsave 0 0.0621 0.219 0.0435 setcmykcolor gsave fill grestore stroke -grestore gsave 0 0.0621 0.219 0.0435 setcmykcolor 1. .setopacityalpha - fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore end - -@endspecial 2875 646 a Fc(Klassendatei)2875 -746 y(Zusatzpakete)875 2684 y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin 0.0 -5.0 neg 0.0 0.0 0 0 /N@C /N@B InitNC { tx@Dict -begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA --90. def /AngleB 0. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 def -/ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW TeXDict begin XC@black -end 1. .setopacityalpha 0 setlinecap stroke grestore grestore -end - 875 2684 a 567 700 a - tx@Dict begin tx@NodeDict begin {18.61697 12.98303 102.87631 51.43816 -2.81697 } false /N@D 16 {InitRnode } NewNode end end - 567 -700 a 31 w @beginspecial @setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4 -true 3.8 neg 12.98303 neg 99.07631 18.61697 .5 Frame gsave 3.0 -45. -PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore -gsave 0 0.0621 0.219 0.0435 setcmykcolor gsave fill grestore stroke -grestore gsave 0 0.0621 0.219 0.0435 setcmykcolor 1. .setopacityalpha - fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore end - -@endspecial 648 -646 a Fc(bin\344re)e(Formatdatei)648 746 y(Fonts)i(\(Metriken\))875 -2684 y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@D /N@B InitNC { tx@Dict -begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA --90. def /AngleB 180. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 -def /ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW TeXDict begin -XC@black end 1. .setopacityalpha 0 setlinecap stroke grestore -grestore end - 875 2684 a 1480 1283 a - tx@Dict begin tx@NodeDict begin {15.8 11.8 53.63864 26.81932 2.0 } -false /N@E 16 {InitRnode } NewNode end end - 1480 1283 a 31 w @beginspecial -@setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4 -true 3.8 neg 11.8 neg 49.83864 15.8 .5 Frame gsave 3.0 -45. PtoC Shadow -0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore gsave 0 -0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave 0 0 -0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave 0.8 -SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap -stroke grestore end - -@endspecial 17 w Fb(DVI)p Fc(-Datei)875 -2684 y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. 1. .setopacityalpha - Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict -begin 0.0 42.8 neg 0.0 0.0 0 0 /N@E /N@B InitNC { tx@Dict begin /Lineto -/lineto load def false 0 setlinejoin pop end /AngleA 90. def /AngleB --90. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 def /ArmTypeB 0 -def NCAngle } if end gsave 0.8 SLW TeXDict begin XC@black end 1. -.setopacityalpha 0 setlinecap stroke grestore grestore end - 875 2684 a 2320 1283 a - tx@Dict begin tx@NodeDict begin {15.8 11.8 64.47456 32.23727 2.0 } -false /N@F 16 {InitRnode } NewNode end end - 2320 1283 a 32 w @beginspecial -@setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4 -true 3.8 neg 11.8 neg 60.67456 15.8 .5 Frame gsave 3.0 -45. PtoC Shadow -0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore gsave 0 -0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave 0 0 -0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave 0.8 -SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap -stroke grestore end - -@endspecial 17 w Fc(Hilfsdateien)875 2684 -y @beginspecial @setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end /ArrowA -{ moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 -2. 1. .setopacityalpha Arrow EndArrow } def [ 184.94283 184.08928 -184.94283 202.01465 /Lineto /lineto load def false 0 setlinejoin -Line gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore end - -@endspecial 875 2684 a - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin -20.0 5.0 neg 0.0 0.0 0 0 /N@F /N@B InitNC { -tx@Dict begin /Lineto /lineto load def false 0 setlinejoin pop end -/AngleA 90. def /AngleB 0. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA -0 def /ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW TeXDict begin -XC@black end 1. .setopacityalpha 0 setlinecap stroke grestore -grestore end - 875 -2684 a 2951 1286 a - tx@Dict begin tx@NodeDict begin {16.36348 11.8 97.46252 48.73126 2.28174 -} false /N@G 16 {InitRnode } NewNode end end - 2951 1286 a 32 w @beginspecial @setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0. -true 3.8 neg 11.8 neg 93.66252 16.36348 .5 Frame gsave 3.0 -45. PtoC -Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore -gsave 0 0.1242 0.438 0.087 setcmykcolor gsave fill grestore stroke -grestore gsave 0 0.1242 0.438 0.087 setcmykcolor 1. .setopacityalpha - fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore end - - -@endspecial 3033 1245 a Fa(externe)d(Programme)3033 -1320 y(\(Index,Bibliothek\))875 2684 y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@F /N@G InitNC { tx@Dict -begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA --90. def /AngleB 0. def /ArmA 12.80363 def /ArmB 10.0 def /ArmTypeA -0 def /ArmTypeB 0 def /AngleB -90. def NCBar } if end gsave 0.8 SLW -TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap stroke - grestore grestore end - 875 2684 a 875 -2684 a - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@G /N@B InitNC { tx@Dict -begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA -90. def /AngleB 0. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 def -/ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW TeXDict begin XC@black -end 1. .setopacityalpha 0 setlinecap stroke grestore grestore -end - 875 2684 a 1460 1643 a - tx@Dict begin tx@NodeDict begin {10.84695 5.62248 58.46756 29.23378 -2.61223 } false /N@H 16 {InitRnode } NewNode end end - 1460 1643 a 31 w @beginspecial -@setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0. -true 3.8 neg 5.62248 neg 54.66756 10.84695 .5 Frame gsave 3.0 -45. -PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore -gsave 0 0.1656 0.584 0.116 setcmykcolor gsave fill grestore stroke -grestore gsave 0 0.1656 0.584 0.116 setcmykcolor 1. .setopacityalpha - fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore end - -@endspecial Fb(DVI)p Fc(-Treiber)875 2684 -y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@E /N@H InitNC { NCLine - } if end gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore grestore end - 875 2684 a 532 1704 a - tx@Dict begin tx@NodeDict begin {18.61697 12.98303 82.72548 41.36273 -2.81697 } false /N@I 16 {InitRnode } NewNode end end - 532 1704 a 32 w @beginspecial -@setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4 -true 3.8 neg 12.98303 neg 78.92548 18.61697 .5 Frame gsave 3.0 -45. -PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore -gsave 0 0.0621 0.219 0.0435 setcmykcolor gsave fill grestore stroke -grestore gsave 0 0.0621 0.219 0.0435 setcmykcolor 1. .setopacityalpha - fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore end - -@endspecial 613 1650 a Fc(Fonts)j(\(Type1,)613 -1750 y(Type3,Bitmap\))875 2684 y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin 2.56073 0.0 neg 0.0 0.0 0 0 /N@I /N@H InitNC -{ NCLine } if end gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore grestore end - 875 2684 a @beginspecial -@setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end /ArrowA -{ moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 1.4 1.5 -2. 1. .setopacityalpha Arrow EndArrow } def [ 156.49008 113.81097 -38.41138 113.81097 /Lineto /lineto load def false 0 setlinejoin -Line gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore end - -@endspecial 1502 2701 a - tx@Dict begin tx@NodeDict begin {15.8 11.8 48.22069 24.11034 2.0 } -false /N@J 16 {InitRnode } NewNode end end - 1502 2701 a 32 w -@beginspecial @setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4 -true 3.8 neg 11.8 neg 44.42068 15.8 .5 Frame gsave 3.0 -45. PtoC Shadow -0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore gsave 0 -0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave 0 0 -0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave 0.8 -SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap -stroke grestore end - -@endspecial 16 w Fb(PS)p Fc(-Datei)875 -2684 y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@H /N@J InitNC { NCLine - } if end gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore grestore end - 875 2684 a @beginspecial @setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end /DS -2.0 2. CLW mul add 2 div def /PSTricksDotFont 0. [1.0 0.0 0.0 1.0 0.0 -0.0] FontDot /Dot { moveto gsave 1. 1. scale (b) show grestore } -bind def 99.5846 85.35823 Dot end - -@endspecial -875 2684 a - tx@Dict begin tx@NodeDict begin {99.5846 85.35823 } false /N@J 10 -{InitPnode } NewNode end end - 875 2684 a 951 2350 a - tx@Dict begin tx@NodeDict begin {10.60394 5.62248 67.1975 33.59874 -2.49072 } false /N@J1 16 {InitRnode } NewNode end end - 951 2350 a 31 w @beginspecial -@setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0. -true 3.8 neg 5.62248 neg 63.39749 10.60394 .5 Frame gsave 3.0 -45. -PtoC Shadow 0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore -gsave 0 0.1656 0.584 0.116 setcmykcolor gsave fill grestore stroke -grestore gsave 0 0.1656 0.584 0.116 setcmykcolor 1. .setopacityalpha - fill grestore gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore end - -@endspecial Fb(ghostscript)875 2684 y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@J /N@J1 InitNC { tx@Dict -begin /Lineto /lineto load def false 0 setlinejoin pop end /AngleA -180. def /AngleB 90. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 -def /ArmTypeB 0 def NCAngle } if end gsave 0.8 SLW TeXDict begin -XC@black end 1. .setopacityalpha 0 setlinecap stroke grestore -grestore end - 875 -2684 a 1007 2701 a - tx@Dict begin tx@NodeDict begin {15.8 11.8 53.63864 26.81932 2.0 } -false /N@J2 16 {InitRnode } NewNode end end - 1007 2701 a 32 w @beginspecial @setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4 -true 3.8 neg 11.8 neg 49.83864 15.8 .5 Frame gsave 3.0 -45. PtoC Shadow -0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore gsave 0 -0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave 0 0 -0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave 0.8 -SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap -stroke grestore end - - -@endspecial 16 w Fb(PDF)p Fc(-Datei)875 2684 y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { moveto } def /ArrowB { BeginArrow 1. 1. scale false 0.4 -1.4 1.5 2. 1. .setopacityalpha Arrow EndArrow } def /NCLW CLW -def tx@NodeDict begin 0.0 0.0 neg 0.0 0.0 0 0 /N@J1 /N@J2 InitNC { -NCLine } if end gsave 0.8 SLW TeXDict begin XC@black end 1. .setopacityalpha - 0 setlinecap stroke grestore grestore end - 875 2684 -a 1952 2701 a - tx@Dict begin tx@NodeDict begin {15.8 11.8 53.63864 26.81932 2.0 } -false /N@K 16 {InitRnode } NewNode end end - 1952 2701 a 32 w @beginspecial @setspecial - tx@Dict begin STP newpath 0.8 SLW TeXDict begin XC@black end 0.4 -true 3.8 neg 11.8 neg 49.83864 15.8 .5 Frame gsave 3.0 -45. PtoC Shadow -0 0 0 0.4 setcmykcolor gsave fill grestore stroke grestore gsave 0 -0 0.3 0 setcmykcolor gsave fill grestore stroke grestore gsave 0 0 -0.3 0 setcmykcolor 1. .setopacityalpha fill grestore gsave 0.8 -SLW TeXDict begin XC@black end 1. .setopacityalpha 0 setlinecap -stroke grestore end - - -@endspecial 16 w Fb(PDF)p Fc(-Datei)875 2684 y - tx@Dict begin gsave STV newpath 0.8 SLW TeXDict begin XC@black end - /ArrowA { BeginArrow 1. 1. scale false 0.4 1.4 1.5 2. 1. .setopacityalpha - Arrow EndArrow moveto } def /ArrowB { } def /NCLW CLW def tx@NodeDict -begin 0.0 -14.22636 neg 0.0 0.0 0 0 /N@K /N@B InitNC { tx@Dict begin -/Lineto /lineto load def false 0 setlinejoin pop end /AngleA 90. def -/AngleB -90. def /ArmA 10.0 def /ArmB 10.0 def /ArmTypeA 0 def /ArmTypeB -0 def NCAngle } if end gsave 0.8 SLW TeXDict begin XC@black end -1. .setopacityalpha 0 setlinecap stroke grestore grestore end - 875 2684 -a 2473 2152 a Fc(Der)g(Aufbau)f(eines)g(T)3163 2172 y(E)3195 -2152 y(X-Systems)g(mit)2648 2252 y(pdfT)2812 2271 y(E)2845 -2252 y(X)g(als)h(Compiler,)f(der)g(eine)2792 2351 y(Ausgabe)f(im)h -(PDF-)h(oder)g(im)2516 2451 y(treiberunabh\344ngigen)e(DVI-Format)3446 -2551 y(erlaubt.)p 0 0 0 1 TeXcolorcmyk 0 0 0 1 TeXcolorcmyk -eop end -%%Trailer - -userdict /end-hook known{end-hook}if -%%EOF |