%!PS-Adobe-3.0 EPSF-3.0
%%Creator: dvips(k) 5.992 Copyright 2012 Radical Eye Software
%%Title: testps-fig1.dvi
%%CreationDate: Wed Nov 27 16:17:35 2013
%%Pages: 1
%%PageOrder: Ascend
%%BoundingBox: 117 554 275 700
%%DocumentPaperSizes: Letter
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: DVIPS.EXE testps-fig1
%DVIPSParameters: dpi=600
%DVIPSSource:  TeX output 2013.11.27:1617
%%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 801 2013-07-09 18:10:41Z herbert $
%
%% PostScript prologue for pstricks.tex.
%% Version 1.17, 2013/07/08
%%
%% 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 dictionary
/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
/Acos2 { 2 dict begin
 /x ED /y ED
 y abs 1.0e-20 lt { 1.0e30 } if
 x y div
 dup dup mul neg 1 add dup 0 lt {              % arc cos needs two values x,y
 pop pop 0 }{ sqrt exch atan} ifelse
 y 0 lt { 180 add } if
} 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
%
/startGlobal { true setglobal globaldict begin } bind def
/endGlobal { end false setglobal } bind def
/pssetRGBcolor /setrgbcolor load def
/pssetCMYKcolor /setcmykcolor load def
/pssetGraycolor /setgray load def
%
%----------------- 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   %
%
/DashLine {
   dup 0 gt
   { /a .5 def PathLength exch div }
   { pop /a 1 def PathLength } ifelse
   /b ED % pattern should fit evenly in b
   dup /X ED % pattern array
   0 get /y ED % length of first black segment
   /z 0 X {add} forall def % length of the full pattern
   %% Computation of the scaling factor as described by van Zandt:
   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
   %%%% scaling factor on stack.
   /z ED %% now, z is the scaling factor
   false % for the length test below
   X { z mul } forall X astore %% modification TN 04-08-07
   %%% Checking whether at least one dash in X has positive length:
   {0 gt or} forall
   { X 1 a sub y mul }
   { [ 1 0 ] 0 }
   ifelse
   setdash stroke
} def
%
/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
%
/SymbolLine {   % on stack [ x y x y ...
 counttomark                                   % number of elements
 2 div cvi /n ED                               % n pairs
 /YA ED /XA ED                                 % the start point
 n 1 sub {
   /YB ED /XB ED
   /XLength XB XA sub def
   /YLength YB YA sub def
   /PAngle YLength XLength Atan def
   /XYLength XLength YLength Pyth def

   %% for negative SymStep we calculate the distance
   SymStep 0 lt
     { %XYLength SymStep div abs cvi
       /nSym SymStep abs cvi def }
     { /nSym XYLength SymStep div cvi def }
   ifelse
   0.5 setflat
   /Shift Symbol stringwidth pop 2 div def
   /deltaX XLength nSym div def
   /deltaY YLength nSym div def
   curveticks
     { XA YA moveto }
     { XA Shift sub YA Shift sub moveto }
   ifelse
   nSym {
     gsave
     curveticks
       { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
         currentpoint translate rotAngle rotate
         0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
         SymbolLinewidth setlinewidth stroke
       }
       {
         rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
         Symbol show
       }
     ifelse
     grestore
     deltaX deltaY rmoveto
   } repeat
   /YA YB def /XA XB def
 } repeat
 curveticks
   { XA YA moveto }
   { XA Shift sub YA Shift sub moveto }
 ifelse
 gsave
 curveticks
   { PAngle 180 sub CorrAngle sub tickAngle add /rotAngle ED
     XA YA translate rotAngle rotate
     0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
     SymbolLinewidth setlinewidth stroke
   }
   {
     rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
     Symbol show
   }
 ifelse
 grestore
 pop                           % delete the mark symbol
} 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
 clipType   % must be defined in pstricks.tex: clip -- eoclip
 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
%
/DotFill {%      on stack: dot radius
 /dotRadius 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 % llx lly urx ury of smallest bounding box
 /y2 ED /x2 ED /y1 ED /x1 ED
 y2 y1 sub a div 2 add cvi /Ny ED
 x2 x1 sub a div 2 add cvi /Nx ED
 clipType   % must be defined in pstricks.tex: clip -- eoclip
 newpath
 /yA y1 dotRadius add CLW add def
 /xA0 x1 dotRadius add CLW add def
 Ny {
    /xA xA0 def
    Nx {
      newpath
      xA yA dotRadius 0 360 arc
      SolidDot { gsave fill grestore } if
      stroke
      xA a add /xA ED
    } repeat
    yA a add /yA ED
 } repeat
 grestore
} def
%
/PenroseFill {%  on stack: scaling factor
 /Scale ED
%  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
gsave
 220 150 translate
 Scale dup scale
 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
%
/PenroseFillA {%  on stack: scaling factor, border color, kite color, dart color
 /Scale ED
 Scale dup scale
 /border_colour ED
 /kite_colour ED
 /dart_colour ED
 clip

 newpath
 gsave
 100 100 translate
 6
 Scale 1 lt { 1 Scale dup add div mul cvi } if %%%%   Number of iterations
 10                                    %%%%   Long side length in millimeters
 /border_width { L 0.06 mul }def               %%%%   Choose the scalefactor for the borders
 /L exch 25.4 div 72 mul def           %%%%   Conversion: mm -> inches -> points
 /f{-1 5 sqrt add 2 div}bind def               %%%%   The reciprocal of the golden ratio
 /l{L f mul}bind def                   %%%%   Short side length l = L*f
 /Ll{L l add}bind def                  %%%%   Ll =  L + l
 /c{36 cos L mul}bind def              %%%%   c  =  L*cos(36)
 /s{36 sin L mul}bind def              %%%%   s  =  L*sin(36)
 /draw_tile { 0 0 moveto c s lineto 0 lineto gsave closepath gsave fill grestore
            0 setlinewidth stroke grestore border_colour stroke } bind def
 /half_kite { dup dup 0 gt{ 1 sub gsave f f neg scale -36 rotate half_dart
                          Ll 0 translate 144 rotate kite grestore }
                        { kite_colour L draw_tile }ifelse
            pop } bind def
 /half_dart { dup dup 0 gt{ 1 sub gsave f f scale half_kite
                          -144 rotate Ll neg 0 translate half_dart grestore }
                        { dart_colour l draw_tile }ifelse
            pop } bind def
 /kite{ gsave half_kite 1 -1 scale half_kite grestore }bind def
 border_width setlinewidth  1 setlinejoin  1 setlinecap
%  450 0 translate
 dup f exch neg exp dup scale
 5 {kite 72 rotate } repeat stroke
 grestore
} def
%
%
/TruchetFill { %         on stack: scaling factor
 10 dict begin
 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
 /ma a neg def
 /ha a 2 div def
 /mha ha neg def
 /tile {
   rand dup 2 idiv 2 mul eq { 90 rotate } if
   mha mha moveto ha mha lineto
   ha ha lineto mha ha lineto
%    closepath .1 setlinewidth stroke
   contents
 } def
 /contents{
   0 ha moveto ha 0 lineto
   0 mha moveto mha 0 lineto
%    1 setlinewidth stroke
 } def
 /dotiling {
   f ma mul a f a mul {
     /i exch def
     f ma mul a f a mul {
       /j exch def
       gsave i j translate
       tile stroke grestore
     } for
   } for
 } def
%
 /f 3 def
 5 srand dotiling
 end % local user dict
} def
%
/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     % outer or inner dimen
 /b ED                                 % the color definition
 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 { % holds the coordinates and on top of stack the showpoints boolean
 /showpoints ED
 counttomark 2 div dup cvi /n ED       % n 2 div on stack
 n eq not { exch pop } if              % even numbers of points? delete one
 ] aload /Points ED
 showpoints not { Points aload pop } if
%    { ] aload /Points ED }
%    { n 2 mul 1 add -1 roll pop } ifelse       % delete the mark symbol
} 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
%
/LineToYAxis {
 /Ox ED                % Save the x origin value
 NArray            % all x-y pairs on stack
 n { 2 copy moveto % go to current point
   Ox exch Lineto   % line to y-axis
   pop             % delete old x-value
 } repeat
} def
%
/LineToXAxis{
 /Oy ED                % Save the y origin value
 NArray                % all x-y pairs on stack
 n 0 eq not
   { n 1 eq { 0 0 /n 2 def } if
     ArrowA
     /n n 2 sub def
     CP 2 copy moveto pop Oy Lineto
     n { 2 copy moveto pop Oy Lineto } repeat
     CP
     4 2 roll
     ArrowB
     2 copy moveto pop Oy
     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
%
/SymbolPolygon {   % on stack [ x y x y ...
 counttomark                                   % number of elements
 2 add /m ED
 2 copy m 2 roll                               % copy last two
 m 2 div cvi /n ED                             % n pairs
 /YA ED /XA ED                                 % the start point
 n 1 sub {
   /YB ED /XB ED
   /XLength XB XA sub def
   /YLength YB YA sub def
   /PAngle YLength XLength Atan def
   /XYLength XLength YLength Pyth def
   /nSym XYLength SymStep Div cvi def
   /Shift Symbol stringwidth pop 2 Div def
   /deltaX XLength nSym Div def
   /deltaY YLength nSym Div def
   XA Shift sub YA Shift sub moveto
   nSym {
     gsave rotateSymbol { PAngle 180 sub CorrAngle sub rotate } if
     Symbol show
     grestore
     deltaX deltaY rmoveto
   } repeat
%    XB Shift sub YB Shift sub moveto Symbol show
   /YA YB def /XA XB def
 } repeat
 pop   % delete the mark symbol
} 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
%
/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
%
/CurvePath {
 %% for negative SymStep we calculate the distance
 SymStep 0 lt { gsave PathLength SymStep div abs /SymStep ED grestore } if
 0.5 setflat
 flattenpath /z 0 def /z0 0 def
 { /y1 ED /x1 ED /y2 y1 def /x2 x1 def
   x1 Shift sub y1 Shift sub moveto
   gsave
   curveticks
     { x1 y1 translate startAngle rotate
       0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
       SymbolLinewidth setlinewidth stroke
     }
     { startAngle rotate Symbol show }
   ifelse
   grestore /z0 z def }
 { /y ED /x ED PathLength@ z z0 sub SymStep ge {
     x Shift sub y Shift sub moveto
     gsave
     curveticks
       { y yOld sub x xOld sub Atan 180 sub CorrAngle sub /rotAngle ED
         x y translate rotAngle rotate
         0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
         SymbolLinewidth setlinewidth stroke
       }
       {
         rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
         Symbol show
       }
     ifelse
     grestore /z0 z def } if
   /yOld y def /xOld x def }
 {} %% the lineto part
 { /y y2 def /x x2 def PathLength@
   x Shift sub y Shift sub moveto
   gsave
   curveticks
     { y yOld sub x xOld sub Atan 180 sub /rotAngle ED
       x y translate rotAngle rotate
       0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
       SymbolLinewidth setlinewidth stroke
     }
     {
       x Shift sub y Shift sub moveto
       rotateSymbol { y yOld sub x xOld sub Atan 180 sub CorrAngle sub rotate } if
       Symbol show
     }
   ifelse
   grestore
 }
 pathforall
%  curveticks
%   { gsave
%     x y translate rotAngle rotate
%     0 SymbolWidth 2 div moveto 0 SymbolWidth 2 div neg lineto
%     SymbolLinewidth setlinewidth stroke grestore
%   } if
 z
} def
%
/OpenSymbolCurve {
 OpenCurve
 0.1 setflat
 /Shift Symbol stringwidth pop 2 div def
 CurvePath
} 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
%
/AltOpenSymbolCurve {
 AltCurve
 0.1 setflat
 /Shift Symbol stringwidth pop 2 div def
 CurvePath
} 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
%
/ClosedSymbolCurve {
 ClosedCurve
 0.1 setflat
 /Shift Symbol stringwidth pop 2 div def
 CurvePath
} 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
%
/OpenSymbolBezier {
 OpenBezier
 0.1 setflat
 /Shift Symbol stringwidth pop 2 div def
 CurvePath
} 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
%
/ClosedSymbolBezier {
 /f ED                          % save showpoints value
 2 copy /yEnd ED /xEnd ED
 counttomark -2 roll 2 copy /yStart ED /xStart ED
 counttomark 2 roll
 f
 ClosedBezier
 0.1 setflat
 /Shift Symbol stringwidth pop 2 div def
 CurvePath
 [ xEnd yEnd xStart yStart SymbolLine
} 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 %                               psk@gridlabels in pt
 /c ED %                               { \pst@usecolor\psgridlabelcolor }
 /n ED %                               psk@griddots
 cvi dup 1 lt { pop 1 } if
 /s ED %                               \psk@subgriddiv
 s div dup 0 eq { pop 1 } if
 /dy ED s div dup 0 eq { pop 1 } if %  \pst@number\psyunit abs
 /dx ED dy div round dy mul %          \pst@number\psxunit abs
 /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 {
 /rotAngle ED
 /mtrx CM def
 T
 rotAngle rotate
 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 801 2013-07-09 18:10:41Z herbert $
%%
%% PostScript prologue for PSTricks algorithm parser
%% Version 0.04, 2011/10/21
%%
%% 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.13
%
% 09/2011 DR factorial with ! added
%
% E->T|E+T
% T->FS|T*FS
% FS -> F | +FS | -FS
% F->P|F^SF|P!
% 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|P!
%% STR index
/AnalyzeFactor {
 AnalyzePreHook AnalyzePower IsEndingFactor
 { dup 0 ne { 32 eq { NextNonBlankChar } if } { pop } ifelse }
 { { dup 33 eq%% is there a ! DR 09/2011
     { pop 1 add NextNonBlankChar pop EvalFactorial }
     { RollOp 1 add NextNonBlankChar pop AnalyzePower PreEvalHook EvalPower }
     ifelse
     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
/EvalFactorial {% DR 09/2011
 /ExpressionVector ExpressionVector aload length
 /fact 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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% No derivative for factorial ! only cst => null derivative
/EvalFactorial {% DR 09/2011
 4 index (0) eq
 { (0) mark 8 -2 roll  cleartomark 2 index 7 index dup 4 index exch sub getinterval exch 6 2 roll }
 { DERIVATIVE_ENGINE_ERROR_no_variable_in_factorial } ifelse
} 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
   { DERIVATIVE_ENGINE_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_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 { DERIVATIVE_ENGINE_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
/! { Fact } bind def
end
%
% END pst-algparser.pro

%%EndProcSet
%%BeginProcSet: pst-tools.pro 0 0
% $Id: pst-tools.pro 713 2012-10-16 14:25:00Z herbert $
%
%% PostScript tools prologue for pstricks.tex.
%% Version 0.03, 2012/10/16
%%
%% 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.
%
%
/Pi2 1.57079632679489661925640 def
/factorial { % n on stack, returns n!
 dup 0 eq { 1 }{
   dup 1 gt { dup 1 sub factorial mul } if }
 ifelse } def
%
/MoverN { % m n on stack, returns the binomial coefficient m over n
 2 dict begin
 /n exch def /m exch def
 n 0 eq { 1 }{
   m n eq { 1 }{
     m factorial n factorial m n sub factorial mul div } ifelse } ifelse
 end
} def
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% subroutines for complex numbers, given as an array [a b]
% which is a+bi = Real+i Imag
%
/cxadd {                % [a1 b1] [a2 b2] = [a1+a2 b1+b2]
 dup 0 get             % [a1 b1] [a2 b2] a2
 3 -1 roll             % [a2 b2] a2 [a1 b1]
 dup 0 get             % [a2 b2] a2 [a1 b1] a1
 3 -1 roll             % [a2 b2] [a1 b1] a1 a2
 add                   % [a2 b2] [a1 b1] a1+a2
 3 1 roll              % a1+a2 [a2 b2] [a1 b1]
 1 get                 % a1+a2 [a2 b2] b1
 exch 1 get            % a1+a2 b1 b2
 add 2 array astore
} def
%
/cxneg {                % [a b]
 dup 1 get             % [a b] b
 exch 0 get            % b a
 neg exch neg          % -a -b
 2 array astore
} def
%
/cxsub { cxneg cxadd } def  % same as negative addition
%
% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3]
/cxmul {                % [a1 b1] [a2 b2]
 dup 0 get             % [a1 b1] [a2 b2] a2
 exch 1 get            % [a1 b1] a2 b2
 3 -1 roll             % a2 b2 [a1 b1]
 dup 0 get             % a2 b2 [a1 b1] a1
 exch 1 get            % a2 b2 a1 b1
 dup                   % a2 b2 a1 b1 b1
 5 -1 roll dup         % b2 a1 b1 b1 a2 a2
 3 1 roll mul          % b2 a1 b1 a2 b1a2
 5 -2 roll dup         % b1 a2 b1a2 b2 a1 a1
 3 -1 roll dup         % b1 a2 b1a2 a1 a1 b2 b2
 3 1 roll mul          % b1 a2 b1a2 a1 b2 a1b2
 4 -1 roll add         % b1 a2 a1 b2 b3
 4 2 roll mul          % b1 b2 b3 a1a2
 4 2 roll mul sub      % b3 a3
 exch 2 array astore
} def
%
% [a b]^2 = [a^2-b^2 2ab] = [a2 b2]
/cxsqr {                % [a b]   square root
 dup 0 get exch 1 get  % a b
 dup dup mul           % a b b^2
 3 -1 roll             % b b^2 a
 dup dup mul           % b b^2 a a^2
 3 -1 roll sub         % b a a2
 3 1 roll mul 2 mul    % a2 b2
 2 array astore
} def
%
/cxsqrt {               % [a b]
%  dup cxnorm sqrt /r exch def
%  cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2
 cxlog                 % log[a b]
 2 cxrdiv              % log[a b]/2
 aload pop exch        % b a
 2.781 exch exp        % b exp(a)
 exch cxconv exch      % [Re +iIm] exp(a)
 cxrmul                %
} def
%
/cxarg {                % [a b]
 aload pop             % a b
 exch atan             % arctan b/a
 DegtoRad              % arg(z)=atan(b/a)
} def
%
% log[a b] = [a^2-b^2 2ab] = [a2 b2]
/cxlog {                % [a b]
 dup                   % [a b][a b]
 cxnorm                % [a b] |z|
 log                   % [a b] log|z|
 exch                  % log|z|[a b]
 cxarg                 % log|z| Theta
 cxmake2               % [log|z| Theta]
} def
%
% square of magnitude of complex number
/cxnorm2 {              % [a b]
 dup 0 get exch 1 get  % a b
 dup mul                       % a b^2
 exch dup mul add      % a^2+b^2
} def
%
/cxnorm {               % [a b]
 cxnorm2 sqrt
} def
%
/cxconj {               % conjugent complex
 dup 0 get exch 1 get  % a b
 neg 2 array astore    % [a -b]
} def
%
/cxre { 0 get } def     % real value
/cxim { 1 get } def     % imag value
%
% 1/[a b] = ([a -b]/(a^2+b^2)
/cxrecip {              % [a b]
 dup cxnorm2 exch      % n2 [a b]
 dup 0 get exch 1 get  % n2 a b
 3 -1 roll             % a b n2
 dup                   % a b n2 n2
 4 -1 roll exch div    % b n2 a/n2
 3 1 roll div          % a/n2 b/n2
 neg 2 array astore
} def
%
/cxmake1 { 0 2 array astore } def % make a complex number, real given
/cxmake2 { 2 array astore } def   % dito, both given
%
/cxdiv { cxrecip cxmul } def
%
% multiplikation by a real number
/cxrmul {               % [a b] r
 exch aload pop        % r a b
 3 -1 roll dup         % a b r r
 3 1 roll mul          % a r b*r
 3 1 roll mul          % b*r a*r
 exch 2 array astore   % [a*r b*r]
} def
%
% division by a real number
/cxrdiv {               % [a b] r
 1 exch div            % [a b] 1/r
 cxrmul
} def
%
% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian
/cxconv {               % theta
 RadtoDeg dup sin exch cos cxmake2
} def

%%%%% ### bubblesort ###
%% syntax : array bubblesort --> array2 trie par ordre croissant
%% code de Bill Casselman
%% http://www.math.ubc.ca/people/faculty/cass/graphics/text/www/
/bubblesort { % on stack must be an array [ ... ]
4 dict begin
  /a exch def
  /n a length 1 sub def
  n 0 gt {
     % at this point only the n+1 items in the bottom of a remain to
     % the sorted largest item in that blocks is to be moved up into
     % position n
     n {
        0 1 n 1 sub {
           /i exch def
           a i get a i 1 add get gt {
              % if a[i] > a[i+1] swap a[i] and a[i+1]
              a i 1 add
              a i get
              a i a i 1 add get
              % set new a[i] = old a[i+1]
              put
              % set new a[i+1] = old a[i]
              put
           } if
        } for
        /n n 1 sub def
     } repeat
  } if
  a % return the sorted array
end
} def
%
/concatstringarray{  %  [(a) (b) ... (z)] --> (ab...z)  20100422
 0 1 index { length add } forall
 string
 0 3 2 roll
 { 3 copy putinterval length add }forall
 pop
} bind def
%
/dot2comma {% on stack a string (...)
 2 dict begin
 /Output exch def
 0 1 Output length 1 sub {
   /Index exch def
   Output Index get 46 eq { Output Index 44 put } if
 } for
 Output
 end
} def
%
/rightTrim {
 dup
 length 1 sub -1 0 {
   /i exch def dup i get 32 ne { exit } if
 } for
 0 i 1 add getinterval
 dup length string copy
} bind def

/psStringwidth /stringwidth load def
/psShow /show load def

%/stringwidth{ rightTrim psStringwidth } bind def

%/show { rightTrim psShow } bind def
%-----------------------------------------------------------------------------%
% END pst-tools.pro

%%EndProcSet
%%BeginProcSet: pst-dots.pro 0 0
% $Id: pst-dots.pro 801 2013-07-09 18:10:41Z herbert $
%
%% PostScript prologue for pstricks.tex.
%% Version 2.02,  2009/06/16
%%
%% For distribution, see pstricks.tex.
%%
%% Timothy Van Zandt <[email protected]>
%%
%% 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 % changed to next line 20060616 hv
 /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 {
    550 dup 22.5 tan mul dup neg dup add /xMove exch def
    exch moveto 7 { xMove 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: pst-coil.pro 0 0
%!ps
% PostScript prologue for pst-coil.tex.
% Version 1.03, 2010/02/01
% For distribution, see pstricks.tex.
%
/tx@CoilDict 40 dict def tx@CoilDict begin
/CoilLoop {
 /t ED
 t sin AspectSin mul t 180 div AspectCos mul add t cos lineto } def
/Coil {
 /Inc ED
 dup sin /AspectSin ED
 cos /AspectCos ED
 /ArmB ED
 /ArmA ED
 /h ED /w ED /y1 ED /x1 ED /y0 ED /x0 ED
 x0 y0 translate y1 y0 sub x1 x0 sub 2 copy Pyth
 /TotalLength ED
 Atan rotate
 /BeginAngle ArmA AspectCos Div w h mul Div 360 mul def
 /EndAngle TotalLength ArmB sub AspectCos Div
   w h mul Div 360 mul def
 1 0 0 0 ArrowA ArmA 0 lineto
 /mtrx CM def
 w h mul 2 Div w 2 Div scale BeginAngle Inc
 EndAngle { CoilLoop } for
 EndAngle CoilLoop mtrx setmatrix TotalLength ArmB sub 0 lineto CP
% DG/SR modification begin - Jun.  2, 1998 - Patch 1 (from Michael Vulis)
% TotalLength 0 ArrowB lineto } def
 TotalLength 0 ArrowB lineto
 pop pop pop pop } def
% DG/SR modification end
%
/Sin {
 /Func ED
 /PointsPerPeriod ED
 /ArmB ED
 /ArmA ED
 /Amplitude ED
 /roundValue ED
 /relativePeriod ED
 /Periods ED
 /y1 ED /x1 ED /y0 ED /x0 ED
 x0 y0 translate y1 y0 sub x1 x0 sub 2 copy Pyth
 dup /TotalLength ED
 ArmA sub ArmB sub /SinLength ED
 Atan rotate
 1 0 0 0 ArrowA ArmA 0 lineto
 /mtrx CM def
 relativePeriod
   {}
   { SinLength Periods div roundValue { cvi } if
     /Periods ED } ifelse
 /dxStep SinLength 360 div def         % the default step for x pos
 /xStep 360 PointsPerPeriod div def    % the step for the for loop
 1 xStep 360 {                         % PointsPerPeriod times
   dup dxStep mul ArmA add exch        % x pos and value for the func
   Periods mul Func Amplitude mul lineto
 } for
 mtrx setmatrix TotalLength ArmB sub 0 lineto CP
 TotalLength 0 ArrowB lineto
 pop pop pop pop
} def
%
/AltCoil {
 /Inc ED
 dup sin /AspectSin ED
 cos /AspectCos ED /h ED /w ED /EndAngle ED /BeginAngle ED
 /mtrx CM def
 w h mul 2 Div w 2 Div scale BeginAngle sin AspectSin mul
 BeginAngle 180 div AspectCos mul add BeginAngle cos
 /lineto load stopped { moveto } if
 BeginAngle Inc EndAngle { CoilLoop } for
 EndAngle CoilLoop mtrx setmatrix } def
/ZigZag {
 /ArmB ED /ArmA ED
 2 div /w ED
 w mul /h ED /y1 ED /x1 ED /y0 ED /x0 ED
 x1 y1 translate y0 y1 sub x0 x1 sub 2 copy Pyth
 /TotalLength ED
 Atan rotate TotalLength ArmA sub ArmB sub dup h div cvi /n ED n h mul
 sub 2 div dup ArmA add
 /ArmA ED ArmB add
 /ArmB ED
 /x ArmB h 2 div add def
 mark 0 0 ArmB 0
 n { x w /w w neg def /x x h add def } repeat
 TotalLength ArmA sub 0 TotalLength 0 } def
%
end
% END pst-coil.pro

%%EndProcSet
%%BeginProcSet: pst-node.pro 0 0
% $Id: pst-node.pro 805 2013-07-11 13:18:11Z herbert $
%%
%% PostScript prologue for pst-node.tex.
%% Version 1.14, 2012/09/18.
%%
%% 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@Dict begin                   % from main pstricks dict
/T /translate load def
/CP /currentpoint load def
% /startGlobal { true setglobal globaldict begin } bind def
% /endGlobal { end false setglobal } bind def
end
/tx@NodeDict 400 dict def tx@NodeDict begin
/NewNode { % on stack: { x y } boolean N@name type InitXnode
 gsave
 NodeScale                     % a bugfix for xelatex, it's empty for dvips
 /next exch def                % { 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 {
 /lineAngle ED
 GetEdgeA GetEdgeB GetArmA GetArmB mark
 lineAngle abs 0 gt {
   /xTemp xA2 10 add def
   /yTemp yA2 lineAngle dup sin exch cos div 10 mul add def
   /dY1 yTemp yA2 sub def
   /dX1 xTemp xA2 sub def
   /dY2 yB2 yB1 sub def
   /dX2 xB2 xB1 sub def
   dX1 abs 0.01 lt {
     /m2 dY2 dX2 div def
     /xB2 xA2 def
     /yB2 xA2 xB1 sub m2 mul yB1 add def
   }{
     dX2 abs 0.01 lt {
       /m1 dY1 dX1 div def
       /xB2 xB1 def
       /yB2 xB1 xA2 sub m1 mul yA2 add def
     }{%
       /m1 dY1 dX1 div def
       /m2 dY2 dX2 div def
       /xB2 m1 xA2 mul m2 xB1 mul sub yA2 sub yB1 add m1 m2 sub div def
       /yB2 xB2 xA2 sub m1 mul yA2 add def
     } ifelse
   } ifelse
 } if
 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
%
%  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 {
 /lineAngle ED
 GetEdgeA GetArmA
 lineAngle abs 0 gt
   { lineAngle }
   { yB yA2 sub xB xA2 sub Atan 180 add } ifelse
 /AngleB ED
 GetEdgeB mark
 lineAngle abs 0 gt {
   /dY2 yA2 yA1 sub def
   /dX2 xA2 xA1 sub def
   lineAngle abs 90 eq {
     /m2 dY2 dX2 div def
     /yA2 xB xA2 sub m2 mul yA2 add def
     /xA2 xB def
   }{
     /m1 lineAngle dup sin exch cos div def % tan alpha
     dX2 abs 0.01 lt {
       /yA2 xA1 xB sub m1 mul yB add def
       /xA2 xA1 def
     }{%
       /m2 dY2 dX2 div def
       /xA2 m1 xB mul m2 xA2 mul sub yA2 add yB sub m1 m2 sub div def
       /yA2 xA2 xB sub m1 mul yB add def
     } ifelse
   } ifelse
 } if
 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
%
%  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: pst-math.pro 0 0
%                           -*- Mode: Postscript -*-
% pst-math.pro --- PostScript header file pst-math.pro
%
% Author          : Christophe JORSSEN
% Author          : Herbert Voß <[email protected]>
% Created the     : Sat 20 March 2004
% Last Mod        : $Date: 2010/10/02 $
% Version         : 0.62 $
%
/PI 3.14159265359 def
/ENeperian 2.71828182846 def
%
/DegToRad {PI mul 180 div} bind def
/RadToDeg {180 mul PI div} bind def
%
/COS {RadToDeg cos} bind def
/SIN {RadToDeg sin} bind def
/TAN {dup SIN exch COS Div} bind def
/tan {dup sin exch cos Div} bind def
/ATAN {neg -1 atan 180 sub DegToRad} bind def
/ACOS {dup dup mul neg 1 add sqrt exch atan DegToRad} bind def
/acos {dup dup mul neg 1 add sqrt exch atan} bind def
/ASIN {neg dup dup mul neg 1 add sqrt neg atan 180 sub DegToRad} bind def
/asin {neg dup dup mul neg 1 add sqrt neg atan 180 sub} bind def
%
/EXP {ENeperian exch exp} bind def
%
/COSH {dup EXP exch neg EXP add 2 div} bind def
/SINH {dup EXP exch neg EXP sub 2 div} bind def
/TANH {dup SINH exch COSH div} bind def
/ACOSH {dup dup mul 1 sub sqrt add ln} bind def
/ASINH {dup dup mul 1 add sqrt add ln} bind def
/ATANH {dup 1 add exch neg 1 add Div ln 2 div} bind def
%
%/SINC {dup SIN exch Div} bind def
/SINC { dup 0 eq { pop 1 } { dup SIN exch div } ifelse } bind def

/GAUSS {dup mul 2 mul dup 4 -2 roll sub dup mul exch div neg EXP exch PI mul sqrt div} bind def
%
/GAMMA { 2 dict begin                           % hv 2007-08-30
 /z exch def
 1.000000000190015                             % p(0)
 0 1 5 {                                       % on stack is 0 1 2 3 4 5
   dup                                         % n-1 n-1
   [ 76.18009172947146
    -86.50532032941677
     24.0140982483091
     -1.231739572450155
      0.1208650973866179E-2
     -0.5395239384953E-5      ] exch get exch  % p(n) n-1
     1 add z add div                           % p(n)/(z+n)
     add                                       % build the sum
   } for
   Pi 2 mul sqrt z div mul
   z 5.5 add z 0.5 add exp mul ENeperian z 5.5 add neg exp mul
 end } bind def
%
/GAMMALN {dup dup dup 5.5 add dup ln 3 -1 roll .5 add mul sub neg 1.000000000190015
   0 1 5 {
   [76.18009172947146 -86.50532032941677 24.0140982483091 -1.231739572450155
   .1208650973866179E-2 -.5395239384953E-5 2.5066282746310005] exch get
   4 -1 roll 1 add dup 5 1 roll div add} for
   4 -1 roll div 2.5066282746310005 mul ln add exch pop} bind def
/BETA {2 copy add GAMMALN neg exch GAMMALN 3 -1 roll GAMMALN EXP} bind def
%
/HORNER {aload length
   dup 2 add -1 roll
   exch 1 sub {
       dup 4 1 roll
       mul add exch
   } repeat
   pop
} bind def
%
/BESSEL_J0 {dup abs 8 lt {
   dup mul dup [57568490574 -13362590354 651619640.7 -11214424.18 77392.33017 -184.9052456] HORNER
   exch [57568490411 1029532985 9494680.718 59272.64853 267.8532712 1] HORNER
   Div}
   {abs dup .636619772 exch div sqrt exch dup .785398164 sub exch 8 exch div dup dup mul dup
   [1 -1.098628627E-2 .2734510407E-4 -.2073370639E-5 .2093887211E-6] HORNER
   3 index COS mul
   exch [-.1562499995E-1 .1430488765E-3 -.6911147651E-5 .7621095161E-6 -.934945152E-7] HORNER
   4 -1 roll SIN mul 3 -1 roll mul neg add mul}
   ifelse} bind def
%
/BESSEL_Y0 {dup 8 lt {
   dup dup mul dup [-2957821389 7062834065 -512359803.6 10879881.29 -86327.92757 228.4622733] HORNER
   exch [40076544269 745249964.8 7189466.438 47447.26470 226.1030244 1] HORNER
   Div exch dup ln exch BESSEL_J0 .636619772 mul mul add}
   {dup .636619772 exch div sqrt exch dup .785398164 sub exch 8 exch div dup dup mul dup
   [1 -.1098628627E-2 .2734510407E-4 -.2073370639E-5 .2093887211E-6] HORNER
   3 index SIN mul
   exch [-.1562499995E-1 .1430488765E-3 -.6911147651E-5 .7621095161E-6 -.934945152E-7] HORNER
   4 -1 roll COS mul 3 -1 roll mul add mul}
   ifelse} bind def
%
/BESSEL_J1 {dup abs 8 lt {
   dup dup mul dup 3 -2 roll [72362614232 -7895059235 242396853.1 -2972611.439 15704.48260 -30.16036606] HORNER mul
   exch [144725228442 2300535178 18583304.74 99447.43394 376.9991397 1] HORNER
   Div}
   {dup abs dup .636619772 exch div sqrt exch dup 2.356194491 sub exch 8 exch div dup dup mul dup
   [1 .183105E-2 -.3516396496E-4 .2457520174E-5 -.240337019E-6] HORNER
   3 index COS mul
   exch [.04687499995 6.2002690873E-3 .8449199096E-5 -.88228987E-6 .105787412E-6] HORNER
   4 -1 roll SIN mul 3 -1 roll mul neg add mul exch dup abs Div mul}
   ifelse} bind def
%
/BESSEL_Y1 {dup 8 lt {
   dup dup dup mul dup [-.4900604943E13 .1275274390E13 -.5153428139E11 .7349264551E9 -.4237922726E7 .8511937935E4] HORNER
   exch [.2499580570E14 .4244419664E12 .3733650367E10 .2245904002E8 .1020426050E6 .3549632885E3 1] HORNER
   Div mul exch dup dup ln exch BESSEL_J1 mul exch 1 exch div sub .636619772 mul add}
   {dup .636619772 exch div sqrt exch dup 2.356194491 sub exch 8 exch div dup dup mul dup
   [1 .183105E-2 -.3516396496E-4 .2457520174E-5 -.240337019E-6] HORNER
   3 index SIN mul
   exch [.04687499995 -.2002690873E-3 .8449199096E-5 6.88228987E-6 .105787412E-6] HORNER
   4 -1 roll COS mul 3 -1 roll mul add mul}
   ifelse} bind def
%
% En cours...
/BESSEL_Yn {dup 0 eq {pop BESSEL_Y0}{dup 1 eq {pop BESSEL_Y1}{
   exch dup BESSEL_Y0 exch dup BESSEL_Y1 exch 2 exch Div {
       mul 3 -1 roll mul 2 index sub pstack} for
   } ifelse } ifelse } bind def
%
/SIMPSON { 1 dict begin  %% on stack a b var f ierr  Dominik Rodriguez
 3 index 5 index sub                                % compute h
 1                                                  % a b var f ierr h n
 4 index 7 index def 3 index exec                   % a b var f ierr h n f(a)
 5 index 7 index def 4 index exec add               % a b var f ierr h n f(a)+f(b)
 5 index 8 index 4 index 2 div add def 4 index exec % a b var f ierr h n f(a)+f(b) f(a+h/2)
 exch 1 index 4 mul add 0  % a b var f ierr h n old=f(a+h/2) Estim=f(a)+f(b)+4f(a+h/2) NbLoop
   {                                                % a b var f ierr h n old Estim NbLoop
     5 -1 roll 2 div dup 6 1 roll              % h<-h/2
     5 -1 roll 2 mul 5 1 roll                  % n<-2n
                                               % a b var f ierr h n old Estim NbLoop h
     2 div 10 index add 0                      % a b var f ierr h n old Estim NbLoop a+h/2 Cumul
     5 index {
       1 index 10 index exch def 8 index exec add exch 6 index add exch
     } repeat                                  % a b var f ierr h n old Estim NbLoop a+nh/2 Cumul
     exch pop                                  % a b var f ierr h n old Estim NbLoop New
     2 index 1 index 4 mul 6 -1 roll 2 mul sub sub % a b var f ierr h n Estim NbLoop New Diff
     4 -1 roll 2 mul 1 index sub 4 1 roll          % a b var f ierr h n Estim NbLoop New Diff
     exch 4 1 roll                             % a b var f ierr h n old Estim NbLoop Diff
     5 index 6 div mul abs 6 index lt { exit } if
     1 add dup 9 eq { exit } if
 } loop                                        % a b var f ierr h n old Estim NbLoop
 exch 5 -1 roll 6 div mul mark 10 2 roll cleartomark
end
} def
% ------------------------------------ math stuff ----------------------------------
%
% Matrix A in arrays of rows A[[row1][row2]...]
% with [row1]=[a11 a12 ... b1]
% returns on stack solution vector X=[x1 x2 ... xn]
/SolveLinEqSystem {                             % on stack matrix M=[A,b] (A*x=b)
 10 dict begin                                 % hold all ocal
   /A exch def
   /Rows A length def                          % Rows = number of rows
   /Cols A 0 get length def                    % Cols = number of columns
   /Index [ 0 1 Rows 1 sub { } for ] def       % Index = [0 1 2 ... Rows-1]
   /col 0 def
   /row  0 def
   /PR Rows array def                          % PR[c] = pivot row for row row
 {                                             % starts the loop, find pivot entry in row r
   col Cols ge row  Rows ge or { exit } if     % col < Cols and row < Rows else exit
   /pRow row def                               % pRow = pivot row
   /max A row  get col get abs def             % get A[row[col]], first A[0,0]
   row 1 add 1 Rows 1 sub {                    % starts for loop 1 1 Rows-1
     /j exch def                               % index counter
     /x A j get col get abs def                % get A[j[r]]
     x max gt {                                % x>max, then save position
       /pRow j def
       /max x def
     } if
   } for                                       % now we have the row with biggest A[0,1]
                                               % with pRow = the pivot row
   max 0 gt {                                  % swap entries pRow and row  in i
     /tmp Index row  get def
     Index row  Index pRow get put
     Index pRow tmp put                        % and columns pRow and row  in A
     /tmp A row get def
     A row  A pRow get put
     A pRow tmp put                            % pivot
     /row0  A row  get def                     % the pivoting row
     /p0 row0  col get def                     % the pivot value
     row 1 add 1 Rows 1 sub {                  % start for loop
       /j exch def
       /c1 A j get def
       /p c1 col get p0 div def
       c1 col p put                            % subtract (p1/p0)*row[i] from row[j]
       col 1 add 1 Cols 1 sub {                % start for loop
         /i exch def
         c1 dup i exch                         % c1 i c1
         i get row0 i get p mul sub put
       } for
     } for
     PR row col put
     /col col 1 add def
     /row row 1 add def
   }{                                          % all zero entries
     /row row 1 add def                        % continue loop with same row
   } ifelse
 } loop
 /X A def                                      % solution vector
 A Rows 1 sub get dup
 Cols 1 sub get exch
 Cols 2 sub get div
 X Rows 1 sub 3 -1 roll put                    % X[n]
 Rows 2 sub -1 0 {                             % for loop to calculate X[i]
   /xi exch def                                % current index
   A xi get                                    % i-th row
   /Axi exch def
   /sum 0 def
   Cols 2 sub -1 xi 1 add {
     /n exch def
     /sum sum Axi n get X n get mul add def
   } for
   Axi Cols 1 sub get                          % b=Axi[Cols-1]
   sum sub                                     % b-sum
   Axi xi get div                              % b-sum / Axi[xi]
   X xi 3 -1 roll put                          % X[xi]
 } for
 X
 end
} def
%
/c@_0 2.515517 def
/c@_1 0.802853 def
/c@_2 0.010328 def
/d@_1 1.432788 def
/d@_2 0.189269 def
/d@_3 0.001308 def
/norminv {
 5 dict begin
 neg 1 add 1 exch div ln 2 mul sqrt
 /t exch def
 /t2 t dup mul def
 /t3 t2 t mul def
 c@_0 c@_1 t mul add c@_2 t2 mul add 1 d@_1 t mul add
 d@_2 t2 mul add d@_3 t3 mul add div neg t add
 end
} def
%end{norminv Michael Sharpe}
%
%
% END pst-math.pro

%%EndProcSet
%%BeginProcSet: pst-3d.pro 0 0
%% $Id: pst-3d.pro 247 2010-01-04 22:45:42Z herbert $
% PostScript prologue for pst-3d.tex.
% Version 0.01, 2010/01/01
%
/tx@3Ddict 300 dict def
tx@3Ddict begin
%
/SetMatrixThreeD {
 dup sin /e ED cos /f ED
 /p3 ED /p2 ED /p1 ED
 p1 0 eq
 { /a 0 def /b p2 0 le { 1 } { -1 } ifelse def
   p3 p2 abs
 }
 { p2 0 eq
   { /a p1 0 lt { -1 } { 1 } ifelse def /b 0 def
     p3 p1 abs
   }
   { p1 dup mul p2 dup mul add sqrt dup
     p1 exch div /a ED
     p2 exch div neg /b ED
     p3 p1 a div
   }
   ifelse
 }
 ifelse
 atan dup sin /c ED cos /d ED
 /Matrix3D
 [
   b f mul c a mul e mul sub
   a f mul c b mul e mul add
   d e mul
   b e mul neg c a mul f mul sub
   a e mul neg c b mul f mul add
   d f mul
 ] def
} def
%
/ProjThreeD {
 /z ED /y ED /x ED
 Matrix3D aload pop
 z mul exch y mul add exch x mul add
 4 1 roll
 z mul exch y mul add exch x mul add
 exch
} def
%
/SetMatrixEmbed {
 SetMatrixThreeD
 Matrix3D aload pop
 /z3 ED /z2 ED /z1 ED /x3 ED /x2 ED /x1 ED
 SetMatrixThreeD
 [
 Matrix3D aload pop
 z3 mul exch z2 mul add exch z1 mul add 4 1 roll
 z3 mul exch z2 mul add exch z1 mul add
 Matrix3D aload pop
 x3 mul exch x2 mul add exch x1 mul add 4 1 roll
 x3 mul exch x2 mul add exch x1 mul add
 3 -1 roll 3 -1 roll 4 -1 roll 8 -3 roll 3 copy
 x3 mul exch x2 mul add exch x1 mul add 4 1 roll
 z3 mul exch z2 mul add exch z1 mul add
 ]
 concat
} def
%
/TMSave {
 tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if
 /TMatrix [ TMatrix CM ] cvx def
} def
%
/TMRestore { CP /TMatrix [ TMatrix setmatrix ] cvx def moveto } def
%
/TMChange {
 TMSave
 /cp [ currentpoint ] cvx def % ??? Check this later.
 CM
 CP T STV
 CM matrix invertmatrix    % Inv(M')
 matrix concatmatrix       % M Inv(M')
 exch exec
 concat cp moveto
} def
%
end % of tx@3Ddict
%%
%% End of file `pst-3d.pro'.

%%EndProcSet
%%BeginProcSet: pstricks-add.pro 0 0
%% $Id: pstricks-add.pro 328 2010-05-24 15:56:43Z herbert $
% PostScript prologue for pstricks-add.tex.
% Version 0.23, 2009/12/17
%
/tx@addDict 410 dict def tx@addDict begin
%%
realtime srand % set random generator
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/GTriangle {
 gsave
 /mtrx CM def
 /colorA ED /colorB ED /colorC ED      % save the colors
 /yA ED /xA ED                         % save the origin
 xA yA translate
 rotate                                % \psk@gangle
 /yB ED /xB ED /yC ED /xC ED           % save other coordinates
 /ds [                % save data in a array
    0 0 0 colorA aload pop             % fd x y xr xg xb
    0 xB xA sub yB yA sub colorB aload pop
    0 xC xA sub yC yA sub colorC aload pop
%     1 xC xB add yB colorA aload pop   % for use with 4 points ABCD
 ] def
 newpath
 <<
 /ShadingType 4           % single Gouraud
 /ColorSpace [ /DeviceRGB ]
 /DataSource ds
 >>
 shfill
 closepath
 mtrx
 setmatrix grestore} def
%
/RGBtoCMYK {    % on stack r g b -> C M Y K
 3 dict begin
 /Blue ED /Green ED /Red ED
 1 Red sub     % Cyan
 1 Green sub   % Magenta
 1 Blue sub    % Yellow
 0             % Black
 end
} def
%
/CMYKtoGRAY { % on stack c m y k -> gray
 exch 0.11 mul add
 exch 0.59 mul add
 exch 0.3 mul add
 dup 1 gt { pop 1 }  if
 neg 1 add
} def
%
/RGBtoGRAY { % on stack r g b -> gray
 0.11 mul
 exch 0.59 mul add
 exch 0.3 mul add
} def
%
/HSBtoGRAY {
 6 dict begin
 /b exch def
 /s exch def 6 mul dup cvi dup
 /i exch def sub
 /f exch def
 /F [[0 1 f sub 1][f 0 1][1 0 1 f sub][1 f 0][1 f sub 1 0][0 1 f][0 1 1]] def
 F i get { s mul neg 1 add b mul} forall
 0.11 mul
 exch 0.59 mul add
 exch 0.3 mul add
 end
} def
%
%% convertisseur longueur d'onde ->R,G,B       Manuel Luque
%% lambda max=780 nanometres
%% lambda min=380 nanometres
%% adaptation de :
%% http://www.physics.sfasu.edu/astro/color.html
%% www.efg2.com/lab
%
/Gamma 0.8 def
/calculateRGB {
 lambda 379 le {/Red 0 def /Green 0 def /Blue 0 def} if
 lambda 781 ge {/Red 0 def /Green 0 def /Blue 0 def} if
 lambda 380 ge {lambda 439 le {
   /R {lambda 440 sub neg 440 380 sub div} def
   /Red R factor mul Gamma exp def
   /G 0 def
   /Green G factor mul Gamma exp def
   /B 1 def
   /Blue B factor mul Gamma exp def} if
 } if
 lambda 440 ge { lambda 489 le {
   /G {lambda 440 sub 490 440 sub div} def
   /Green G factor mul Gamma exp def
   /R 0 def /Red 0 def
   /B 1 def
   /Blue B factor mul Gamma exp def } if
 } if
 lambda 490 ge {lambda 509 le {
   /B {lambda 510 sub neg 510 490 sub div} def
   /Blue B factor mul Gamma exp def
   /R 0 def /Red 0 def
   /G 1 def
   /Green G factor mul Gamma exp def } if
 } if
 lambda 510 ge {lambda 579 le {
   /R {lambda 510 sub 580 510 sub div } def
   /Red R factor mul Gamma exp def
   /Blue 0 def
   /G 1 def
   /Green G factor mul Gamma exp def } if
 } if
 lambda 580 ge {lambda 644 le {
   /G {lambda 645 sub neg 645 580 sub div } def
   /Green G factor mul Gamma exp def
   /Blue 0 def
   /R 1 def
   /Red R factor mul Gamma exp def } if
 } if
 lambda 645 ge { lambda 780 le {
   /Red 1 factor mul Gamma exp def
   /Blue 0 def
   /Green 0 def } if
 } if
} def
%
/factor {
 lambda 380 ge {lambda 419 le { 0.3 0.7 lambda 380 sub mul 420 380 sub div add} if } if
 lambda 420 ge {lambda 700 le { 1 } if } if
 lambda 701 ge {lambda 780 le { 0.3 0.7 780 lambda sub mul 780 700 sub div add} if } if
} def
%
/wavelengthToRGB { % the wavelength in nm must be on top of the stack
 cvi /lambda exch def % no floating point here
 calculateRGB
} def %  now the colors are saved in Red Green Blue
%
/wavelengthToGRAY { % the wavelength in nm must be on top of the stack
 cvi /lambda exch def % no floating point here
 calculateRGB
 Red Green Blue RGBtoGRAY
} def %  now the gray color is on the stack
%
/wavelengthToCMYK { % the wavelength in nm must be on top of the stack
 cvi /lambda exch def % no floating point here
 gsave
 calculateRGB Red Green Blue RGBtoCMYK
 /Black ED /Yellow ED /Magenta ED /Cyan ED
 grestore
} def %  now the colors are saved in Cyan Magenta Yellow Black
%
/axfill {
   8 dict begin
   /xw exch def /nl exch def
   /C1 exch def /y1 exch def/x1 exch def
   /C0 exch def /y0 exch def/x0 exch def
   <<  /ShadingType 2
       /ColorSpace /DeviceRGB
       /Coords [ x0 y0 x1 y1 ]
       /EmulatorHints [ xw 2 div dup ]
       /Function <<
           /FunctionType 2
           /Domain [0 1]
           /C0 C0
           /C1 C1
           /N      1
       >>
   >> shfill
   end
} bind def
%
%/amplHand {.8} def
%/dtHand 2 def
/varHand { rand sin amplHand mul add } def
/MovetoByHand { moveto } def
%/MovetoByHand { /y0 ED /x0 ED x0 y0 moveto } def
/LinetoByHand { 4 dict begin
 /y1 ED /x1 ED
 currentpoint /y0 ED /x0 ED
 x0 x1 sub dup mul y0 y1 sub dup mul add sqrt /dEnd ED
 0 dtHand dEnd { dup
   x1 x0 sub mul dEnd div x0 add varHand exch
   y1 y0 sub mul dEnd div y0 add varHand lineto
 } for
%  /x0 x1 def /y0 y1 def
 end
} def
%
end
%
% END pstricks-add.pro

%%EndProcSet
%%BeginProcSet: pst-func.pro 0 0
%% $Id: pst-func.pro 355 2010-06-21 10:02:44Z herbert $
%%
%% This is file `pst-func.pro',
%%
%% IMPORTANT NOTICE:
%%
%% Package `pst-func'
%%
%% Herbert Voss <[email protected]>
%%
%% 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.
%%
%% DESCRIPTION:
%%   `pst-func' is a PSTricks package to plot special math functions
%%
%%
%% version 0.13 / 2010-06-21  Herbert Voss
%
/tx@FuncDict 100 dict def
tx@FuncDict begin
%
/eps1 1.0e-05 def
/eps2 1.0e-04 def
/eps8 1.0e-08 def
/Pi2 1.57079632679489661925640 def
/CEuler 0.5772156649 def % Euler-Mascheroni constant
%
/factorial { % n on stack, returns n!
 dup 0 eq { 1 }{
   dup 1 gt { dup 1 sub factorial mul } if }
 ifelse } def
%
/MoverN { % m n on stack, returns the binomial coefficient m over n
 2 dict begin
 /n exch def /m exch def
 n 0 eq { 1 }{
   m n eq { 1 }{
     m factorial n factorial m n sub factorial mul div } ifelse } ifelse
 end
} def
%
/Pascal [
 [                   1                   ] % 0
 [                 1   1                 ] % 1
 [               1   2   1               ] % 2
 [             1   3   3   1             ] % 3
 [           1   4   6   4   1           ] % 4
 [         1   5  10  10   5   1         ] % 5
 [       1   6  15  20  15   6   1       ] % 6
 [     1   7  21  35  35  21   7   1     ] % 7
 [   1   8  28  56  70  56  28  8    1   ] % 8
 [ 1   9  36  84 126 126  84  36  9    1 ] % 9
] def
%
/GetBezierCoor {                                % t on stack
 10 dict begin                                 % hold all local
 /t ED
 /t1 1 t sub def                               % t1=1-t
 /Coeff Pascal BezierType get def              % get the coefficients
   0 0                                         % initial values for x y
   BezierType -1 0 {                           % BezierType,...,2,1,0
     /I ED                                     % I=BezierType,...,2,1,0
     /J BezierType I sub def                   % J=0,1,2,...,BezierType
     /T t I exp Coeff J get mul def            % coeff(J)*t^I
     /T1 t1 J exp def                          % t1^J
     Points I dup add 1 add get                % y(2*I+1)
     T mul T1 mul add                          % the y coordinate
     exch                                      % y x
     Points I dup add get                      % x(2*I)
     T mul T1 mul add                          % the x coordinate
     exch                                      % x y
   } for                                       % x y on stack
 end
} def
%
/BezierCurve { % on stack [ coors psk@plotpoints BezierType
%  10 dict begin
 /BezierType ED
 1 exch div /epsilon ED
 ] /Points ED                          % yi xi ... y3 x3 y2 x2 y1 x1 y0 x0
 epsilon GetBezierCoor                 % next Bezier point
 Points 0 get Points 1 get             % starting point
 ArrowA moveto
 epsilon epsilon 1 {
   /t ED
   t GetBezierCoor
   t 0.9999 lt { lineto }{ 1 epsilon sub GetBezierCoor 4 2 roll ArrowB pop pop pop pop } ifelse
 } for
%  end
} def
%
/Bernstein { % on stack tStart tEnd plotpoints i n
 12 dict begin                         % hold all local
 /envelope ED                          % plot envelope?
 /n ED
 /i ED
 /ni n i sub def
 /epsilon ED                           % step=1/plotpoints
 /tEnd ED
 /tStart ED
%
% B_{i,n}(t)=\binom{n}{i}t^i(1-t)^{n-i}      (Bernstein)
% f_n(x)=\frac{1}{\sqrt{\pi n\cdot x(1-x)}}  (envelope)
%
 n i MoverN /noveri ED                 % \binom{n}{i}
 [                                     % for the array of points
 tStart epsilon tEnd {
   dup dup /t ED                       % leave one on stack
   neg 1 add /t1 ED                    % t1=1-t
   envelope
     { t t1 mul 4 mul Pi2 mul n mul sqrt 1 exch Div }  % envelope
     { noveri t i exp mul t1 ni exp mul } ifelse       % t f(t)
   ScreenCoor                          % convert to screen coor
 } for
 end
 false /Lineto /lineto load def Line
} def
%
/Si { % integral sin from 0 to x (arg on stack)
 /arg exch def
 /Sum arg def
 /sign -1 def
 /index 3 def
 {
   arg index exp index div index factorial div sign mul
   dup abs eps8 lt { pop exit } if
   Sum add /Sum exch def
   /sign sign neg def
   /index index 2 add def
 } loop
 Sum
} def
/si { % integral sin from x to infty -> si(x)=Si(x)-pi/2
 Si Pi2 sub
} def
/Ci { % integral cosin from x to infty (arg on stack)
 abs /arg exch def
 arg 0 eq { 0 } {
   /argExp 1 def
   /fact 1 def
   /Sum CEuler arg ln add def
   /sign -1 def
   /index 2 def
   {
     /argExp argExp arg arg mul mul def
     /fact fact index 1 sub index mul mul def
     argExp index div fact div sign mul
     dup abs exch Sum add /Sum exch def
     eps8 lt { exit } if
     /sign sign neg def
     /index index 2 add def
   } loop
   Sum
 } ifelse
} def
/ci { % integral cosin from x to infty -> ci(x)=-Ci(x)+ln(x)+CEuler
 dup Ci neg exch abs ln add CEuler add
} def
%
/MaxIter 255 def
/func { coeff Derivation FuncValue } def
/func' { coeff Derivation 1 add FuncValue } def
/func'' { coeff Derivation 2 add FuncValue } def
%
/NewtonMehrfach {% the start value must be on top of the stack
 /Nx exch def
 /Iter 0 def
 {
   /Iter Iter 1 add def
   Nx func /F exch def % f(Nx)
   F abs eps2 lt { exit } if
   Nx func' /FS exch def % f'(Nx)
   FS 0 eq { /FS 1.0e-06 def } if
   Nx func'' /F2S exch def % f''(Nx)
   1.0 1.0 F F2S mul FS dup mul div sub div /J exch def
   J F mul FS div /Diff exch def
   /Nx Nx Diff sub def
   Diff abs eps1 lt Iter MaxIter gt or { exit } if
 } loop
 Nx % the returned value ist the zero point
} def

/Steffensen {% the start value must be on top of the stack
 /y0 exch def % the start value
 /Iter 0 def
 {
   y0 func /F exch def
   F abs eps2 lt { exit } if
   y0 F sub /Phi exch def
   Phi func /F2 exch def
   F2 abs eps2 le { exit }{
     Phi y0 sub dup mul Phi F2 sub 2 Phi mul sub y0 add Div /Diff exch def
     y0 Diff sub /y0 exch def
     Diff abs eps1 le { exit } if
   } ifelse
   /Iter Iter 1 add def
   Iter MaxIter gt { exit } if
 } loop
 y0 % the returned value ist the zero point
} def
%
/Horner {% x [coeff] must be on top of the stack
 aload length
 dup 2 add -1 roll
 exch 1 sub {
   dup 4 1 roll
   mul add exch
 } repeat
 pop % the y value is on top of the stack
} def
%
/FuncValue {% x [coeff] Derivation must be on top of the stack
 {
   aload                       % a0 a1 a2 ... a(n-1) [array]
   length                      % a0 a1 a2 ... a(n-1) n
   1 sub /grad exch def        % a0 a1 a2 ... a(n-1)
   grad -1 1 {                 % for n=grad step -1 until 1
     /n exch def               % Laufvariable speichern
     n                         % a0 a1 a2 ... a(n-1) n
     mul                       % a0 a1 a2 ... a(n-1)*n
     grad 1 add                % a0 a1 a2 ... a(n-1)*n grad+1
     1 roll                    % an*na0 a1 a2 ... a(n-2)
   } for
   pop                         % loesche a0
   grad array astore           % [ a1 a2 ... a(n-2)]
 } repeat
 Horner
} def
%
/FindZeros { % dxN dxZ must be on top of the stack (x0..x1 the intervall) => []
 12 dict begin
 /dxZ exch def /dxN exch def
 /pstZeros [] def
 x0 dxZ x1 { % suche Nullstellen
   /xWert exch def
   xWert NewtonMehrfach
   %xWert Steffensen
   /xNull exch def
   pstZeros aload length /Laenge exch def % now test if value is a new one
   Laenge 0 eq
     { xNull 1 }
     { /newZero true def
       Laenge {
         xNull sub abs dxN lt { /newZero false def } if
       } repeat
       pstZeros aload pop
       newZero { xNull Laenge 1 add } { Laenge } ifelse } ifelse
   array astore
   /pstZeros exch def
 } for
 pstZeros  % the end array is now on the stack
 end
} def
%
/Simpson { % on stack must be a b M   --- simple version ---
% /SFunc must be defined
 /M ED /b ED /a ED
 /h b a sub M 2 mul div def
 /s1 0 def
 /s2 0 def
 1 1 M {
   /k exch def
   /x k 2 mul 1 sub h mul a add def
   /s1 s1 x SFunc add def
 } for
 1 1 M 1 sub {
   /k exch def
   /x k 2 mul h mul a add def
   /s2 s2 x SFunc add def
 } for
 /I a SFunc b SFunc add s1 4 mul add s2 2 mul add 3 div h mul def
} def
%
/LogGamma { 5 dict begin        % z on stack
 /z ED
 /sum 0 def
 /k 1 def
 {
   z k div dup 1 add ln sub dup
   abs eps8 lt { pop exit } if
   sum add /sum exch def
   /k k 1 add def
 } loop
 sum z ln sub CEuler z mul sub
 end
} def
%
/ChebyshevT { 5 dict begin      % z on stack
 /xtmp exch def
 /n exch def
 0 0 1 n .5 mul floor {
    /k exch def
    xtmp xtmp mul 1 sub k exp
    xtmp n 2 k mul sub exp mul
    n 2 k mul MoverN mul
    add
 } for
 end
} def
%
/ChebyshevU {5 dict begin       % z on stack
 /xtmp exch def
 /n exch def
 0 0 1 n .5 mul floor {
   /k exch def
   xtmp xtmp mul 1 sub k exp
   xtmp n 2 k mul sub exp mul
   n 1 add 2 k mul 1 add MoverN mul
   add
 } for
 end
} def
%
% subroutines for complex numbers, given as an array [a b]
% which is a+bi = Real+i Imag
%
/cxadd {                % [a1 b1] [a2 b2] = [a1+a2 b1+b2]
 dup 0 get             % [a1 b1] [a2 b2] a2
 3 -1 roll             % [a2 b2] a2 [a1 b1]
 dup 0 get             % [a2 b2] a2 [a1 b1] a1
 3 -1 roll             % [a2 b2] [a1 b1] a1 a2
 add                   % [a2 b2] [a1 b1] a1+a2
 3 1 roll              % a1+a2 [a2 b2] [a1 b1]
 1 get                 % a1+a2 [a2 b2] b1
 exch 1 get            % a1+a2 b1 b2
 add 2 array astore
} def
%
/cxneg {                % [a b]
 dup 1 get             % [a b] b
 exch 0 get            % b a
 neg exch neg          % -a -b
 2 array astore
} def
%
/cxsub { cxneg cxadd } def  % same as negative addition
%
% [a1 b1][a2 b2] = [a1a2-b1b2 a1b2+b1a2] = [a3 b3]
/cxmul {                % [a1 b1] [a2 b2]
 dup 0 get             % [a1 b1] [a2 b2] a2
 exch 1 get            % [a1 b1] a2 b2
 3 -1 roll             % a2 b2 [a1 b1]
 dup 0 get             % a2 b2 [a1 b1] a1
 exch 1 get            % a2 b2 a1 b1
 dup                   % a2 b2 a1 b1 b1
 5 -1 roll dup         % b2 a1 b1 b1 a2 a2
 3 1 roll mul          % b2 a1 b1 a2 b1a2
 5 -2 roll dup         % b1 a2 b1a2 b2 a1 a1
 3 -1 roll dup         % b1 a2 b1a2 a1 a1 b2 b2
 3 1 roll mul          % b1 a2 b1a2 a1 b2 a1b2
 4 -1 roll add         % b1 a2 a1 b2 b3
 4 2 roll mul          % b1 b2 b3 a1a2
 4 2 roll mul sub      % b3 a3
 exch 2 array astore
} def
%
% [a b]^2 = [a^2-b^2 2ab] = [a2 b2]
/cxsqr {                % [a b]   square root
 dup 0 get exch 1 get  % a b
 dup dup mul           % a b b^2
 3 -1 roll             % b b^2 a
 dup dup mul           % b b^2 a a^2
 3 -1 roll sub         % b a a2
 3 1 roll mul 2 mul    % a2 b2
 2 array astore
} def
%
/cxsqrt {               % [a b]
%  dup cxnorm sqrt /r exch def
%  cxarg 2 div RadtoDeg dup cos r mul exch sin r mul cxmake2
 cxlog                 % log[a b]
 2 cxrdiv              % log[a b]/2
 aload pop exch        % b a
 2.781 exch exp        % b exp(a)
 exch cxconv exch      % [Re +iIm] exp(a)
 cxrmul                %
} def
%
/cxarg {                % [a b]
 aload pop             % a b
 exch atan             % arctan b/a
 DegtoRad              % arg(z)=atan(b/a)
} def
%
% log[a b] = [a^2-b^2 2ab] = [a2 b2]
/cxlog {                % [a b]
 dup                   % [a b][a b]
 cxnorm                % [a b] |z|
 log                   % [a b] log|z|
 exch                  % log|z|[a b]
 cxarg                 % log|z| Theta
 cxmake2               % [log|z| Theta]
} def
%
% square of magnitude of complex number
/cxnorm2 {              % [a b]
 dup 0 get exch 1 get  % a b
 dup mul                       % a b^2
 exch dup mul add      % a^2+b^2
} def
%
/cxnorm {               % [a b]
 cxnorm2 sqrt
} def
%
/cxconj {               % conjugent complex
 dup 0 get exch 1 get  % a b
 neg 2 array astore    % [a -b]
} def
%
/cxre { 0 get } def     % real value
/cxim { 1 get } def     % imag value
%
% 1/[a b] = ([a -b]/(a^2+b^2)
/cxrecip {              % [a b]
 dup cxnorm2 exch      % n2 [a b]
 dup 0 get exch 1 get  % n2 a b
 3 -1 roll             % a b n2
 dup                   % a b n2 n2
 4 -1 roll exch div    % b n2 a/n2
 3 1 roll div          % a/n2 b/n2
 neg 2 array astore
} def
%
/cxmake1 { 0 2 array astore } def % make a complex number, real given
/cxmake2 { 2 array astore } def   % dito, both given
%
/cxdiv { cxrecip cxmul } def
%
% multiplikation by a real number
/cxrmul {               % [a b] r
 exch aload pop        % r a b
 3 -1 roll dup         % a b r r
 3 1 roll mul          % a r b*r
 3 1 roll mul          % b*r a*r
 exch 2 array astore   % [a*r b*r]
} def
%
% division by a real number
/cxrdiv {               % [a b] r
 1 exch div            % [a b] 1/r
 cxrmul
} def
%
% exp(i theta) = cos(theta)+i sin(theta) polar<->cartesian
/cxconv {               % theta
 RadtoDeg dup sin exch cos cxmake2
} def
%
end

%%EndProcSet
%%BeginProcSet: pst-3dplot.pro 0 0
%% $Id: pst-3dplot.pro 236 2009-12-31 08:59:43Z herbert $
%%
%% This is file `pst-3dplot.pro',
%%
%% IMPORTANT NOTICE:
%%
%% Package `pst-3dplot.tex'
%%
%% Herbert Voss <voss _at_ PSTricks.de>
%%
%% 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.
%%
%% DESCRIPTION:
%%   `pst-3dplot' is a PSTricks package to draw 3d curves and graphical objects
%%
%%
%% version 0.30 / 2010-01-01  Herbert Voss <voss _at_ PSTricks.de>
%% with contributions of Darrell Lamm <darrell.lamm _at_ gtri.gatech.edu<
%%
%
/tx@3DPlotDict 200 dict def
tx@3DPlotDict begin
%
/printDot { gsave 2 copy 2 0 360 arc fill stroke grestore } def
%
/saveCoor {
 dzUnit mul /z ED
 dyUnit mul /y ED
 dxUnit mul /x ED
} def
%
/ConvertTo2D {
 RotatePoint
 1 { %  dummy loop, will run only 1 time, allows exit
   coorType 0 le {                                               % the default |
     /x2D x leftHanded not { neg } if Alpha cos mul y Alpha sin mul add def %  /\  co system
     /y2D x leftHanded { neg } if Alpha sin mul y Alpha cos mul add neg Beta sin mul z Beta cos mul add def
     exit } if
   coorType 1 le {
     /x2D y x Alpha 90 sub sin mul sub def  %  |/_  co system, no shortened x axis
     /y2D z x Alpha 90 sub cos mul sub def
     exit } if
   coorType 2 le { % coorType |/_ with a 1/sqrt(2) shortend x-axis and 135 degrees
     /x2D y x 0.5 mul sub def
     /y2D z x 0.5 mul sub def
     exit } if
   coorType 3 le { % coorType |/_ with a 1/sqrt(2) shortend x-axis and 135 degrees
     /x2D y x -0.5 mul sub def
     /y2D z x -0.5 mul sub def
     exit } if
   coorType 4 le { % Normalbild in Trimetrie Skalierung so, dass coorType2
      /x2D x -0.5 mul y 1 mul add def
      /y2D x -0.5 mul y -0.25 mul add z 1 mul add def
      exit } if
 } repeat
} def
%
/Conv3D2D { /z ED /y ED /x ED ConvertTo2D x2D y2D } def
%
/ConvertToCartesian {
 /latitude exch def
 /longitude exch def
 /Radius exch def
 1 { %  dummy loop, will run only 1 time, allows exit
   SphericalCoorType 0 le {                                               % the default |
    /z { Radius latitude sin mul } def
    /x { Radius longitude cos mul latitude cos mul } def
    /y { Radius longitude sin mul latitude cos mul } def
     exit } if
   SphericalCoorType 2 le {
    /z { Radius longitude cos mul } def
    /x { Radius longitude sin mul latitude cos mul} def
    /y { Radius longitude sin mul latitude sin mul } def
     exit } if
 } repeat
} def
%
/ConvCylToCartesian { % r phi h -> x y z
 3 1 roll                      % h r phi
 /Phi ED
 /Radius ED                    % h->z on stack
 Radius Phi cos mul exch       % x z
 Radius Phi sin mul exch       % x y z
} def
%
/SphericalTo2D {
 x y z ConvertToCartesian ConvertTo2D
} def
%
/CylinderTo2D { %  r phi h
 x y z ConvCylToCartesian ConvertTo2D
} def
%
/convertStackTo2D {
 counttomark
 /n ED /n3 n 3 div cvi def
 n3 {
   n -3 roll
   SphericalCoor { ConvertToCartesian } { saveCoor } ifelse
   ConvertTo2D
   x2D xUnit y2D yUnit
   /n n 1 sub def
 } repeat
} def
%
% the angle in the parameter equation for an ellipse is not proportional to the real angle!
% phi=atan(b*tan(angle)/a)+floor(angle/180+0.5)*180
%
/getPhi { % on stack: vecA vecB angle
 3 dict begin
 /angle exch def /vecB exch def /vecA exch def
 angle cvi 90 mod 0 eq { angle } { vecA angle tan mul vecB atan
 angle 180 div .5 add floor 180 mul add } ifelse
 end
} def
%
/RotSet (set ) def
%
/eulerRotation false def
% Matrix multiplication procedure
/matmul {

 /M@tMulDict 20 dict def
 M@tMulDict begin
 /m2 ED
 /m1 ED
 m1 dup length 2 sub 2 getinterval aload pop
 /col1max ED
 /row1max ED
 m2 dup length 2 sub 2 getinterval aload pop
 /col2max ED
 /row2max ED
 /m3 row1max col2max mul 2 add array def
 m3 dup length 2 sub row1max col2max 2 array astore putinterval
 0 1 row1max 1 sub {
  /row ED
  0 1 col2max 1 sub {
   /col ED
   /sum 0 def
   0 1 col1max 1 sub{
   /rowcol ED
   sum
   m1 row col1max mul rowcol add get
   m2 rowcol col2max mul col add get
   mul add
   /sum ED
   } for
   m3 row col2max mul col add sum put
  } for
 } for
 m3
 end % end of M@tMulDict

} def
%
/SetMQuaternion {

 /MnewTOold 11 array def

 /Qu@ternionDict 30 dict def
 Qu@ternionDict begin

 /normRotVec  xRotVec yRotVec zRotVec 3 array astore VecNorm  def
 normRotVec 0 gt
 {/xRotVecNorm xRotVec normRotVec div def
  /yRotVecNorm yRotVec normRotVec div def
  /zRotVecNorm zRotVec normRotVec div def
  RotAngle}
 {/xRotVecNorm 1 def
  /yRotVecNorm 0 def
  /zRotVecNorm 0 def
  0} ifelse

 2 div dup
 /q0 exch cos def
     sin dup dup
 /q1 exch xRotVecNorm mul def
 /q2 exch yRotVecNorm mul def
 /q3 exch zRotVecNorm mul def

 /q0q0 q0 q0 mul def
 /q0q1 q0 q1 mul def
 /q0q2 q0 q2 mul def
 /q0q3 q0 q3 mul def

 /q1q1 q1 q1 mul def
 /q1q2 q1 q2 mul def
 /q1q3 q1 q3 mul def

 /q2q2 q2 q2 mul def
 /q2q3 q2 q3 mul def

 /q3q3 q3 q3 mul def

 MnewTOold 0 q0q0 q1q1 add q2q2 sub q3q3 sub put
 MnewTOold 1 q1q2 q0q3 sub 2 mul put
 MnewTOold 2 q1q3 q0q2 add 2 mul put

 MnewTOold 3 q1q2 q0q3 add 2 mul put
 MnewTOold 4 q0q0 q1q1 sub q2q2 add q3q3 sub put
 MnewTOold 5 q2q3 q0q1 sub 2 mul put

 MnewTOold 6 q1q3 q0q2 sub 2 mul put
 MnewTOold 7 q2q3 q0q1 add 2 mul put
 MnewTOold 8 q0q0 q1q1 sub q2q2 sub q3q3 add put

 MnewTOold 9 3 put
 MnewTOold 10 3 put

 end % end of Qu@ternionDict

} def
%
/SetMxyz {
 1.0 0.0 0.0  0.0 1.0 0.0  0.0 0.0 1.0  3 3  11 array astore /MnewTOold ED
 RotSequence cvx exec % Now create a new MnewTOold using xyz, etc.
} def
%
/ConcatMQuaternion {
 MnewTOold % Push onto stack
 SetMQuaternion % Uses [xyz]RotVec and RotAngle to make MnewToOld
 MnewTOold matmul /MnewTOold ED
} def
%
/ConcatMxyz {
 MnewTOold % Push onto stack
 SetMxyz % Uses RotX, etc. to set MnewTOold
 MnewTOold matmul /MnewTOold ED
} def
%
/RotatePoint{
 MnewTOold x y z  3 1  5 array astore matmul
 0 3 getinterval aload pop
 /z ED
 /y ED
 /x ED
} def
%
/makeMoldTOnew {
 /MoldTOnew 11 array def
 MoldTOnew 0 MnewTOold 0 get put
 MoldTOnew 1 MnewTOold 3 get put
 MoldTOnew 2 MnewTOold 6 get put
 MoldTOnew 3 MnewTOold 1 get put
 MoldTOnew 4 MnewTOold 4 get put
 MoldTOnew 5 MnewTOold 7 get put
 MoldTOnew 6 MnewTOold 2 get put
 MoldTOnew 7 MnewTOold 5 get put
 MoldTOnew 8 MnewTOold 8 get put
 MoldTOnew 9               3 put
 MoldTOnew 10              3 put
} def
%
/RotXaxis {
 eulerRotation
 {1 0 0}
 {makeMoldTOnew MoldTOnew  1 0 0  3 1  5 array astore matmul
  0 3 getinterval aload pop} ifelse
 /zRotVec ED
 /yRotVec ED
 /xRotVec ED
 /RotAngle RotX def
 ConcatMQuaternion
} def
/RotYaxis {
 eulerRotation
 {0 1 0}
 {makeMoldTOnew MoldTOnew  0 1 0  3 1  5 array astore matmul
  0 3 getinterval aload pop} ifelse
 /zRotVec ED
 /yRotVec ED
 /xRotVec ED
 /RotAngle RotY def
 ConcatMQuaternion
} def
/RotZaxis {
 eulerRotation
 {0 0 1}
 {makeMoldTOnew MoldTOnew  0 0 1  3 1  5 array astore matmul
  0 3 getinterval aload pop} ifelse
 /zRotVec ED
 /yRotVec ED
 /xRotVec ED
 /RotAngle RotZ def
 ConcatMQuaternion
} def
/xyz { RotXaxis RotYaxis RotZaxis } def
/yxz { RotYaxis RotXaxis RotZaxis } def
/yzx { RotYaxis RotZaxis RotXaxis } def
/xzy { RotXaxis RotZaxis RotYaxis } def
/zxy { RotZaxis RotXaxis RotYaxis } def
/zyx { RotZaxis RotYaxis RotXaxis } def
/quaternion { } def % Null
%
/VecNorm { 0 exch { dup mul add } forall sqrt } def
%
/UnitVec {                      % on stack is [a]; returns a vector with [a][a]/|a|=1
 dup VecNorm /norm ED
 norm 0 lt {/norm 0 def} if
 { norm div } forall 3 array astore } def
%
/AxB {                          % on the stack are the two vectors [a][b]
   aload pop /b3 ED /b2 ED /b1 ED
   aload pop /a3 ED /a2 ED /a1 ED
   a2 b3 mul a3 b2 mul sub
   a3 b1 mul a1 b3 mul sub
   a1 b2 mul a2 b1 mul sub
   3 array astore } def
%
/AaddB {                        % on the stack are the two vectors [a][b]
   aload pop /b3 ED /b2 ED /b1 ED
   aload pop /a3 ED /a2 ED /a1 ED
   a1 b1 add a2 b2 add a3 b3 add
   3 array astore } def
%
/AmulC {                        % on stack is [a] and c; returns [a] mul c
   /factor ED { factor mul } forall 3 array astore } def
%
%
/setColorLight { % expects 7 values on stack C M Y K xL yL zL
% les rayons de lumi�re
 xLight dup mul yLight dup mul zLight dup mul add add sqrt /NormeLight ED
% the color values
 /K ED
 /Yellow ED
 /Magenta ED
 /Cyan ED
} def
%
/facetteSphere {
 newpath
 /Xpoint Rsphere theta cos mul phi cos mul CX add def
 /Ypoint Rsphere theta sin mul phi cos mul CY add def
 /Zpoint Rsphere phi sin mul CZ add def
 Xpoint Ypoint Zpoint tx@3Ddict begin ProjThreeD end moveto
 theta 1 theta increment add {%
   /theta1 ED
   /Xpoint Rsphere theta1 cos mul phi cos mul CX add def
   /Ypoint Rsphere theta1 sin mul phi cos mul CY add def
   /Zpoint Rsphere phi sin mul CZ add def
   Xpoint Ypoint Zpoint tx@3Ddict begin ProjThreeD end  lineto
 } for
 phi 1 phi increment add {
   /phi1 ED
   /Xpoint Rsphere theta increment add cos mul phi1 cos mul CX add def
   /Ypoint Rsphere theta increment add sin mul phi1 cos mul CY add def
   /Zpoint Rsphere phi1 sin mul CZ add def
   Xpoint Ypoint Zpoint tx@3Ddict begin ProjThreeD end lineto
 } for
 theta increment add -1 theta {%
   /theta1 ED
   /Xpoint Rsphere theta1 cos mul phi increment add cos mul CX add def
   /Ypoint Rsphere theta1 sin mul phi increment add cos mul CY add def
   /Zpoint Rsphere phi increment add sin mul CZ add def
   Xpoint Ypoint Zpoint tx@3Ddict begin ProjThreeD end lineto
 } for
 phi increment add -1 phi {
   /phi1 ED
   /Xpoint Rsphere theta cos mul phi1 cos mul CX add def
   /Ypoint Rsphere theta sin mul phi1 cos mul CY add def
   /Zpoint Rsphere phi1 sin mul CZ add def
   Xpoint Ypoint Zpoint tx@3Ddict begin ProjThreeD end lineto
 } for
 closepath
} def
%
/MaillageSphere {
% on stack must be x y z Radius increment C M Y K
 setColorLight
 /increment ED
 /Rsphere ED
 /CZ ED
 /CY ED
 /CX ED
 /StartTheta 0 def
 /condition { PSfacetteSphere 0 ge } def
 -90 increment 90 increment sub {%
   /phi ED
   StartTheta increment 360 StartTheta add increment sub {%
     /theta ED
     % Centre de la facette
     /Xpoint Rsphere theta increment 2 div add cos mul phi increment 2 div add cos mul CX add def
     /Ypoint Rsphere theta increment 2 div add sin mul phi increment 2 div add cos mul CY add def
     /Zpoint Rsphere phi increment 2 div add sin mul CZ add def
     % normale � la facette
     /nXfacette Xpoint CX sub def
     /nYfacette Ypoint CY sub def
     /nZfacette Zpoint CZ sub def
     % test de visibilit�
     /PSfacetteSphere
       vX nXfacette mul
       vY nYfacette mul add
       vZ nZfacette mul add
     def
     condition {
       gsave
       facetteSphere
       /cosV { 1 xLight nXfacette mul
         yLight nYfacette mul
         zLight nZfacette mul
         add add
         NormeLight
         nXfacette dup mul
         nYfacette dup mul
         nZfacette dup mul
         add add sqrt mul div sub } bind def
       Cyan cosV mul Magenta cosV mul Yellow cosV mul K cosV mul setcmykcolor fill
       grestore
%       0 setgray
       showgrid { facetteSphere stroke } if
     } if
   } for
   % /StartTheta StartTheta increment 2 div add def
 } for
} def
%
%---------------------- Cylinder ---------------------------
%
/PlanCoupeCylinder { %
 /TableauxPoints [
   0 1 359 {
     /phi ED
     [ Radius phi Height ConvCyl2d ] % on décrit le cercle
   } for
 ] def
 newpath
 TableauxPoints 0 get aload pop moveto
 1 1 359 { TableauxPoints exch get aload pop lineto } for
 closepath
} def
%
/facetteCylinder { %
   newpath
   Radius phi currentHeight ConvCyl2d moveto
   phi 1 phi dAngle add  { % loop variable on stack
     Radius exch currentHeight ConvCyl2d lineto
   } for
   phi dAngle add -1 phi { %   fill dHeight
     Radius exch currentHeight dHeight add ConvCyl2d lineto
   } for
   closepath
 } def % facette
%
/MaillageCylinder { % on stack true or false for saving values
   { setColorLight  % expects 4 values on stack C M Y K
     /dHeight ED /dAngle ED /Height ED /Radius ED
     /CZ ED /CY ED /CX ED } if
%
   0 dHeight Height dHeight sub {
     /currentHeight ED
     0 dAngle 360 dAngle sub {
       /phi ED
% Normal vector of the center
       /nXfacetteCylinder Radius phi dAngle 2 div add cos mul CX add def
       /nYfacetteCylinder Radius phi dAngle 2 div add sin mul CY add def
       /nZfacetteCylinder currentHeight dHeight 2 div add CZ add def
       /NormeN
         nXfacetteCylinder dup mul
         nYfacetteCylinder dup mul
         nZfacetteCylinder dup mul
         add add sqrt def
       NormeN 0 eq { /NormeN 1e-10 def } if
% test de visibilité
      /PSfacetteCylinder
           vX nXfacetteCylinder mul
           vY nYfacetteCylinder mul add
           vZ nZfacetteCylinder mul add def
      condition {
        facetteCylinder
        /cosV
          1 xLight nXfacetteCylinder mul
          yLight nYfacetteCylinder mul
          zLight nZfacetteCylinder mul
          add add
          NormeLight NormeN mul div sub def
        Cyan Magenta Yellow K
        cosV mul 4 1 roll cosV mul 4 1 roll
        cosV dup mul mul 4 1 roll cosV dup mul mul 4 1 roll
        setcmykcolor fill
         showgrid {
           0 setgray
           facetteCylinder % drawing the segments
           stroke } if
      } if
    } for
   } for
} def
%
%------------------------ Cylinder type II -----------------------
%
/MoveTo { Conv3D2D moveto } def
/LineTo { Conv3D2D lineto } def

/IIIDEllipse { % x y z rA rB startAngle endAngle Wedge
 /dAngle 1 def
 /isWedge ED
 /endAngle ED
 /startAngle ED
 /radiusB ED
 /radiusA ED
 startAngle cos radiusA mul startAngle sin radiusB mul 0
 isWedge { 0 0 moveto LineTo }{ MoveTo } ifelse
 /Angle startAngle def
 startAngle dAngle endAngle {
   /Angle ED
   Angle cos radiusA mul Angle sin radiusB mul 0 LineTo
 } for
 isWedge { 0 0 lineto } if
} def

/IIIDCircle { % x y z r startAngle endAngle Wedge
 7 3 roll % startAngle endAngle Wedge x y z r
 dup      % startAngle endAngle Wedge x y z r r
 8 -3 roll
 IIIDEllipse
} def

/IIIDWedge { % x y z r startAngle endAngle
 true IIIDCircle
} def

/IIIDCylinder {% x y z r h start end wedge
 /isWedge ED
 /increment ED
 /endAngle ED
 /startAngle ED
 /height ED
 /radius ED
 startAngle increment endAngle {
   /Angle ED
   radius Angle 0 ConvCylToCartesian MoveTo
   radius Angle height ConvCylToCartesian LineTo
 } for
 stroke
} def
%
%---------------------- Box ---------------------------
%
/PlanCoupeBox { % x y z
 /TableauxPoints [
     [ CX CY CZ Height add ConvBox2d ] % top or bottom
     [ CX CY Depth add CZ Height add ConvBox2d ]
     [ CX Width add CY Depth add CZ Height add ConvBox2d ]
     [ CX Width add CY CZ Height add ConvBox2d ]
     [ CX CY CZ Height add ConvBox2d ] % bottom
   ] def
   newpath
   TableauxPoints 0 get aload pop moveto
   0 1 3 {
     TableauxPoints exch get aload pop
     lineto } for
   closepath
} def
%
/facetteBox { %
   newpath
   dup
   1 eq { % back
     CX CY CZ ConvBox2d moveto
     CX CY CZ Height add ConvBox2d lineto
     CX Width add CY CZ Height add ConvBox2d lineto
     CX Width add CY CZ ConvBox2d lineto
     CX CY CZ ConvBox2d lineto
   } if
   dup
   2 eq { % right
     CX CY CZ ConvBox2d moveto
     CX CY CZ Height add ConvBox2d lineto
     CX CY Depth add CZ Height add ConvBox2d lineto
     CX CY Depth add CZ ConvBox2d lineto
     CX CY CZ ConvBox2d lineto
   } if
   dup
   3 eq { % left
     CX Width add CY CZ ConvBox2d moveto
     CX Width add CY Depth add CZ ConvBox2d lineto
     CX Width add CY Depth add CZ Height add ConvBox2d lineto
     CX Width add CY CZ Height add ConvBox2d lineto
     CX Width add CY CZ ConvBox2d lineto
   } if
   4 eq { % front
     CX CY Depth add CZ ConvBox2d moveto
     CX CY Depth add CZ Height add ConvBox2d lineto
     CX Width add CY Depth add CZ Height add ConvBox2d lineto
     CX Width add CY Depth add CZ ConvBox2d lineto
     CX CY Depth add CZ ConvBox2d lineto
   } if
   closepath
 } def % facette
%
/TestPlane { % on stack x y z of the plane center and # of plane
 /nZfacetteBox ED /nYfacetteBox ED /nXfacetteBox ED
 /Plane ED
 /NormeN
   nXfacetteBox dup mul
   nYfacetteBox dup mul
   nZfacetteBox dup mul
   add add sqrt def
 NormeN 0 eq { /NormeN 1e-10 def } if
% test de visibilit�
 /PSfacetteBox
   vX nXfacetteBox mul
   vY nYfacetteBox mul add
   vZ nZfacetteBox mul add def
 condition {
   Plane facetteBox
        /cosV
          1 xLight nXfacetteBox mul
          yLight nYfacetteBox mul
          zLight nZfacetteBox mul
          add add
          NormeLight NormeN mul div sub def
        Cyan Magenta Yellow K
        cosV mul 4 1 roll cosV mul 4 1 roll
        cosV dup mul mul 4 1 roll cosV dup mul mul 4 1 roll
        setcmykcolor fill
        0 setgray
        Plane facetteBox % drawing the segments
        stroke
      } if
} def
%
/MaillageBox { % on stack true or false for saving values
   { setColorLight  % expects 4 values on stack C M Y K
     /Depth ED /Height ED /Width ED
     /CZ ED /CY ED /CX ED } if
%
% Normal vector of the box center
 /PlaneSet [
   [ Width 2 div CX add
     CY
     Height 2 div CZ add ] % normal back
   [ CX
     Depth 2 div CY add
     Height 2 div CZ add ] % normal right
   [ Width CX add
     Depth 2 div CY add
     Height 2 div CZ add ] % normal left
   [ Width 2 div CX add
     Depth CY add
     Height 2 div CZ add ] % normal front
 ] def
 PlaneSequence length 0 eq { % user defined?
   Alpha abs cvi 360 mod /iAlpha ED
   iAlpha 90 lt { [ 1 2 3 4 ]
     }{ iAlpha 180 lt { [ 2 4 1 3 ]
       }{ iAlpha 270 lt { [ 3 4 1 2 ] }{ [ 3 1 4 2] } ifelse } ifelse } ifelse
 }{ PlaneSequence } ifelse
 { dup 1 sub PlaneSet exch get aload pop TestPlane } forall
} def
%
%--------------------------- Paraboloid -----------------------------
/PlanCoupeParaboloid {
   /Z height store
   /V {Z sqrt} bind def
   /TableauxPoints [
     0 1 359 {
       /U ED [ U U Z V calculate2DPoint ] % on d�crit le cercle
     } for
   ] def
   newpath
   TableauxPoints 0 get aload pop moveto
   0 1 359 {
     /compteur ED
     TableauxPoints compteur get aload pop
     lineto } for
   closepath
} def
%
/facetteParaboloid{
   newpath
   U U Z V calculate2DPoint moveto
   U 1 U increment add  {%
     /U1 ED
     U1 U1 Z V calculate2DPoint lineto
   } for
   Z pas10 Z pas add pas10 add{
     /Z1 ED
     /V {Z1 sqrt} bind def
     U1 U1 Z1 V calculate2DPoint lineto
   } for
   U increment add -1 U {%
     /U2 ED
     U2 U2 Z pas add V calculate2DPoint lineto
   } for
   Z pas add pas10 sub pas10 neg Z pas10 sub {
     /Z2 ED
     /V Z2 abs sqrt def
     U U Z2 V calculate2DPoint lineto
   } for
   closepath
} def % facette
%
/MaillageParaboloid {
 % on stack true or false for saving values
   { setColorLight  % expects 7 values on stack C M Y K xL yL zL
%      /CZ ED /CY ED /CX ED
   } if
   0 pas height pas sub {%
     /Z ED
     /V Z sqrt def
     0 increment 360 increment sub {%
       /U ED
% Centre de la facette
       /Ucentre U increment 2 div add def
       /Vcentre Z pas 2 div add sqrt def
% normale à la facette
       /nXfacetteParaboloid 2 Vcentre dup mul mul Ucentre cos mul radius mul def
       /nYfacetteParaboloid 2 Vcentre dup mul mul Ucentre sin mul radius mul def
       /nZfacetteParaboloid Vcentre neg radius dup mul mul def
       /NormeN {
         nXfacetteParaboloid dup mul
         nYfacetteParaboloid dup mul
         nZfacetteParaboloid dup mul
         add add sqrt} bind def
       NormeN 0 eq {/NormeN 1e-10 def} if
% test de visibilit�
      /PSfacetteParaboloid vX nXfacetteParaboloid mul
                 vY nYfacetteParaboloid mul add
                 vZ nZfacetteParaboloid mul add def
      condition {
        facetteParaboloid
        /cosV 1 xLight nXfacetteParaboloid mul
          yLight nYfacetteParaboloid mul
          zLight nZfacetteParaboloid mul
          add add
          NormeLight
          NormeN mul div sub def
        Cyan Magenta Yellow K
        cosV mul 4 1 roll cosV mul 4 1 roll cosV dup mul mul 4 1 roll cosV dup mul mul 4 1 roll
        setcmykcolor fill
        showgrid {
          0 setgray
          facetteParaboloid
          stroke } if
      } if
    } for
   } for
} def
%
% ------------------------------------ math stuff ----------------------------------
%
% Matrix A in arrays of rows A[[row1][row2]...]
% with [row1]=[a11 a12 ... b1]
% returns on stack solution vector X=[x1 x2 ... xn]
/SolveLinEqSystem {                             % on stack matrix M=[A,b] (A*x=b)
 10 dict begin                                 % hold all ocal
   /A exch def
   /Rows A length def                          % Rows = number of rows
   /Cols A 0 get length def                    % Cols = number of columns
   /Index [ 0 1 Rows 1 sub { } for ] def       % Index = [0 1 2 ... Rows-1]
   /col 0 def
   /row  0 def
   /PR Rows array def                          % PR[c] = pivot row for row row
 {                                             % starts the loop, find pivot entry in row r
   col Cols ge row  Rows ge or { exit } if     % col < Cols and row < Rows else exit
   /pRow row def                               % pRow = pivot row
   /max A row  get col get abs def             % get A[row[col]], first A[0,0]
   row 1 add 1 Rows 1 sub {                    % starts for loop 1 1 Rows-1
     /j exch def                               % index counter
     /x A j get col get abs def                % get A[j[r]]
     x max gt {                                % x>max, then save position
       /pRow j def
       /max x def
     } if
   } for                                       % now we have the row with biggest A[0,1]
                                               % with pRow = the pivot row
   max 0 gt {                                  % swap entries pRow and row  in i
     /tmp Index row  get def
     Index row  Index pRow get put
     Index pRow tmp put                        % and columns pRow and row  in A
     /tmp A row get def
     A row  A pRow get put
     A pRow tmp put                            % pivot
     /row0  A row  get def                     % the pivoting row
     /p0 row0  col get def                     % the pivot value
     row 1 add 1 Rows 1 sub {                  % start for loop
       /j exch def
       /c1 A j get def
       /p c1 col get p0 div def
       c1 col p put                            % subtract (p1/p0)*row[i] from row[j]
       col 1 add 1 Cols 1 sub {                % start for loop
         /i exch def
         c1 dup i exch                         % c1 i c1
         i get row0 i get p mul sub put
       } for
     } for
     PR row col put
     /col col 1 add def
     /row row 1 add def
   }{                                          % all zero entries
     /row row 1 add def                        % continue loop with same row
   } ifelse
 } loop
 /X A def                                      % solution vector
 A Rows 1 sub get dup
 Cols 1 sub get exch
 Cols 2 sub get div
 X Rows 1 sub 3 -1 roll put                    % X[n]
 Rows 2 sub -1 0 {                             % for loop to calculate X[i]
   /xi exch def                                % current index
   A xi get                                    % i-th row
   /Axi exch def
   /sum 0 def
   Cols 2 sub -1 xi 1 add {
     /n exch def
     /sum sum Axi n get X n get mul add def
   } for
   Axi Cols 1 sub get                          % b=Axi[Cols-1]
   sum sub                                     % b-sum
   Axi xi get div                              % b-sum / Axi[xi]
   X xi 3 -1 roll put                          % X[xi]
 } for
 X
 end
} def
%
% u -> e_u with |e_u|=1
/vector-unit { 1 dict begin
 dup vector-length 1 exch div
 vector-scale
 end
} def
%
% u v -> u+v
/vector-add { 1 dict begin
 /v exch def
 [ exch
 0             % u i
 exch {        % i u[i]
   v           % i u[i] v
   2 index get add     % i u[i]+v[i]
   exch 1 add  % i
 } forall
 pop
 ]
 end
} def
%
% u v -> u-v
/vector-sub { 1 dict begin
 /v exch def
 [ exch
 0             % u i
 exch {        % i u[i]
   v           % i u[i] v
   2 index get sub     % i u[i]+v[i]
   exch 1 add  % i
 } forall
 pop
 ]
end } def
%
% [v] c -> [c.v]
/vector-scale { 1 dict begin
 /c exch def
 [ exch
 {             % s i u[i]
   c mul       % s i u[i] v
 } forall
 ]
 end } def
%
%
% [u] [v] -> [u x v]
/vector-prod { %% x1 y1 z1 x2 y2 z2
6 dict begin
 aload pop
 /zp exch def /yp exch def /xp exch def
 aload pop
 /z exch def /y exch def /x exch def
 [ y zp mul z yp mul sub
  z xp mul x zp mul sub
  x yp mul y xp mul sub ]
end
} def
%
% [u] [v] -> u.v
/vector-mul { %% x1 y1 z1 x2 y2 z2
6 dict begin
 aload pop
 /zp exch def /yp exch def /xp exch def
 aload pop
 /z exch def /y exch def /x exch def
 x xp mul y yp mul add z zp mul add
end
} def
%
% [x y z ... ] -> r
% watch out for overflow
/vector-length { 1 dict begin
dup
% find maximum entry
/max 0 def
{ % max
 abs dup max gt {
   % if abs gt max
   /max exch def
 } {
   pop
 } ifelse
} forall
max 0 ne {
 0 exch
 {  % 0 v[i]
   max div dup mul add
 } forall
 sqrt
 max mul
} {
 pop 0
} ifelse
end } def
%
end % tx@3DPlotDict


%%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/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/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
TeXDict begin 40258437 52099151 1000 600 600 (testps-fig1.dvi)
@start end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
end
%%EndSetup
%%Page: 1 1
TeXDict begin 1 0 bop 0 TeXcolorgray Black 165 192 a
tx@Dict begin  gsave STV CP T /ps@rot 0 def grestore  end

165 192 a 165 192 a
tx@Dict begin  gsave STV CP T /ps@refangle 0.  def grestore  end
165 192 a 0 TeXcolorgray 165 192
a
tx@Dict begin  gsave STV CP T /ps@rot 0 def grestore  end
165 192 a 290 1373 a @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.5 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def   /t 0 def /t1 0.5 def /dt t1 t sub 199
div def /F@pstplot ((1-t)^6*(2.0)*(2.0)+6*t*(1-t)^5*(2.0-1.5)*(2.0)+15*t^2*(1-t)^4*(2.0+2)*(2.0)+
20*t^3*(1-t)^3*(2.0+6)*(2.0)+15*t^4*(1-t)^2*(2.0+5)*(2.0)+6*t^5*(1-t)*(2.0+1.5)*(2.0)+t^6*(2.0)*(2.0)|(1-t)^6*(2.0)*(2.0)+6*t*(1-t)^5*(2.0+2)*(2.0)+15*t^2*(1-t)^4*(2.0+5)*(2.0)+
20*t^3*(1-t)^3*(2.0+3)*(2.0)+15*t^4*(1-t)^2*(2.0-1)*(2.0)+6*t^5*(1-t)*(2.0-2)*(2.0)+t^6*(2.0)*(2.0))
tx@AlgToPs begin AlgToPs end cvx def /xy { F@pstplot 12.0 mul exch
12.0 mul exch } def  /ps@Exit false def xy moveto  199 1 sub { /t t
dt add def xy  dup 1.e30 12.0 mul gt { moveto }{ dup -1.e30 12.0 mul
lt { moveto }{ L } ifelse } ifelse  ps@Exit { exit } if } repeat ps@Exit
not { /t t1 def xy  dup 1.e30 12.0 mul gt { moveto }{ dup -1.e30 12.0
mul lt { moveto }{ L } ifelse } ifelse  } if     gsave 0 0 0.9 0  setcmykcolor
1. .setopacityalpha  fill  grestore gsave 0.5 SLW 0  setgray  1. .setopacityalpha
 1  setlinejoin 0  setlinecap stroke  grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.5 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def   /t 0.5 def /t1 1 def /dt t1 t sub 199
div def /F@pstplot ((1-t)^6*(2.0)*(2.0)+6*t*(1-t)^5*(2.0-1.5)*(2.0)+15*t^2*(1-t)^4*(2.0+2)*(2.0)+
20*t^3*(1-t)^3*(2.0+6)*(2.0)+15*t^4*(1-t)^2*(2.0+5)*(2.0)+6*t^5*(1-t)*(2.0+1.5)*(2.0)+t^6*(2.0)*(2.0)|(1-t)^6*(2.0)*(2.0)+6*t*(1-t)^5*(2.0+2)*(2.0)+15*t^2*(1-t)^4*(2.0+5)*(2.0)+
20*t^3*(1-t)^3*(2.0+3)*(2.0)+15*t^4*(1-t)^2*(2.0-1)*(2.0)+6*t^5*(1-t)*(2.0-2)*(2.0)+t^6*(2.0)*(2.0))
tx@AlgToPs begin AlgToPs end cvx def /xy { F@pstplot 12.0 mul exch
12.0 mul exch } def  /ps@Exit false def xy moveto  199 1 sub { /t t
dt add def xy  dup 1.e30 12.0 mul gt { moveto }{ dup -1.e30 12.0 mul
lt { moveto }{ L } ifelse } ifelse  ps@Exit { exit } if } repeat ps@Exit
not { /t t1 def xy  dup 1.e30 12.0 mul gt { moveto }{ dup -1.e30 12.0
mul lt { moveto }{ L } ifelse } ifelse  } if     gsave 0 0 0.9 0  setcmykcolor
1. .setopacityalpha  fill  grestore gsave 0.5 SLW 0  setgray  1. .setopacityalpha
 1  setlinejoin 0  setlinecap stroke  grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 46.66553 47.99945 46.66553
51.99939 50.99872 51.99939 50.99872 47.99945 46.66553 47.99945   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 46.66553 47.99945 46.66553
51.99939 50.99872 51.99939 50.99872 47.99945 46.66553 47.99945   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 47.99945 42.33234
51.99939 46.66553 51.99939 46.66553 47.99945 42.33234 47.99945   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 51.99939 42.33234
55.99933 46.66553 55.99933 46.66553 51.99939 42.33234 51.99939   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 51.99939 42.33234
55.99933 46.66553 55.99933 46.66553 51.99939 42.33234 51.99939   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 51.99939 42.33234
55.99933 46.66553 55.99933 46.66553 51.99939 42.33234 51.99939   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 55.99951 42.33234
59.99945 46.66553 59.99945 46.66553 55.99951 42.33234 55.99951   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 55.99951 42.33234
59.99945 46.66553 59.99945 46.66553 55.99951 42.33234 55.99951   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 55.99951 37.99915
59.99945 42.33234 59.99945 42.33234 55.99951 37.99915 55.99951   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 59.99945 37.99915
63.99939 42.33234 63.99939 42.33234 59.99945 37.99915 59.99945   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 59.99945 37.99915
63.99939 42.33234 63.99939 42.33234 59.99945 37.99915 59.99945   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 63.99939 37.99915
67.99933 42.33234 67.99933 42.33234 63.99939 37.99915 63.99939   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 63.99939 37.99915
67.99933 42.33234 67.99933 42.33234 63.99939 37.99915 63.99939   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 63.99939 37.99915
67.99933 42.33234 67.99933 42.33234 63.99939 37.99915 63.99939   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 67.99933 37.99915
71.99927 42.33234 71.99927 42.33234 67.99933 37.99915 67.99933   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 67.99933 37.99915
71.99927 42.33234 71.99927 42.33234 67.99933 37.99915 67.99933   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 67.99933 37.99915
71.99927 42.33234 71.99927 42.33234 67.99933 37.99915 67.99933   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 71.99927 37.99915
75.9992 42.33234 75.9992 42.33234 71.99927 37.99915 71.99927   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 71.99927 37.99915
75.9992 42.33234 75.9992 42.33234 71.99927 37.99915 71.99927   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 75.9992 37.99915
79.99915 42.33234 79.99915 42.33234 75.9992 37.99915 75.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 37.99915 75.9992 37.99915
79.99915 42.33234 79.99915 42.33234 75.9992 37.99915 75.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 75.9992 42.33234
79.99915 46.66553 79.99915 46.66553 75.9992 42.33234 75.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 79.99915 42.33234
83.99908 46.66553 83.99908 46.66553 79.99915 42.33234 79.99915   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 79.99915 42.33234
83.99908 46.66553 83.99908 46.66553 79.99915 42.33234 79.99915   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 79.99915 42.33234
83.99908 46.66553 83.99908 46.66553 79.99915 42.33234 79.99915   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 83.99908 42.33234
87.99902 46.66553 87.99902 46.66553 83.99908 42.33234 83.99908   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 83.99908 42.33234
87.99902 46.66553 87.99902 46.66553 83.99908 42.33234 83.99908   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 42.33234 83.99908 42.33234
87.99902 46.66553 87.99902 46.66553 83.99908 42.33234 83.99908   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 46.66553 87.9992 46.66553
91.99915 50.99872 91.99915 50.99872 87.9992 46.66553 87.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 46.66553 87.9992 46.66553
91.99915 50.99872 91.99915 50.99872 87.9992 46.66553 87.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 46.66553 87.9992 46.66553
91.99915 50.99872 91.99915 50.99872 87.9992 46.66553 87.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 46.66553 91.99915 46.66553
95.99908 50.99872 95.99908 50.99872 91.99915 46.66553 91.99915   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 46.66553 91.99915 46.66553
95.99908 50.99872 95.99908 50.99872 91.99915 46.66553 91.99915   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 50.99872 91.99915 50.99872
95.99908 55.33191 95.99908 55.33191 91.99915 50.99872 91.99915   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 50.99872 91.99915 50.99872
95.99908 55.33191 95.99908 55.33191 91.99915 50.99872 91.99915   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 50.99872 95.99908 50.99872
99.99902 55.33191 99.99902 55.33191 95.99908 50.99872 95.99908   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 50.99872 95.99908 50.99872
99.99902 55.33191 99.99902 55.33191 95.99908 50.99872 95.99908   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 55.33191 95.99908 55.33191
99.99902 59.6651 99.99902 59.6651 95.99908 55.33191 95.99908   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 55.33191 95.99908 55.33191
99.99902 59.6651 99.99902 59.6651 95.99908 55.33191 95.99908   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 55.33191 99.99902 55.33191
103.99896 59.6651 103.99896 59.6651 99.99902 55.33191 99.99902   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 55.33191 99.99902 55.33191
103.99896 59.6651 103.99896 59.6651 99.99902 55.33191 99.99902   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 59.66528 99.99902 59.66528
103.99896 63.99847 103.99896 63.99847 99.99902 59.66528 99.99902
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 59.66528 99.99902 59.66528
103.99896 63.99847 103.99896 63.99847 99.99902 59.66528 99.99902
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 59.66528 103.99896 59.66528
107.9989 63.99847 107.9989 63.99847 103.99896 59.66528 103.99896
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 63.99847 103.99896 63.99847
107.9989 68.33167 107.9989 68.33167 103.99896 63.99847 103.99896
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 63.99847 103.99896 63.99847
107.9989 68.33167 107.9989 68.33167 103.99896 63.99847 103.99896
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 63.99847 103.99896 63.99847
107.9989 68.33167 107.9989 68.33167 103.99896 63.99847 103.99896
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 63.99847 103.99896 63.99847
107.9989 68.33167 107.9989 68.33167 103.99896 63.99847 103.99896
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 68.33167 103.99896 68.33167
107.9989 72.66486 107.9989 72.66486 103.99896 68.33167 103.99896
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 68.33167 107.9989 68.33167
111.99884 72.66486 111.99884 72.66486 107.9989 68.33167 107.9989
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 68.33167 107.9989 68.33167
111.99884 72.66486 111.99884 72.66486 107.9989 68.33167 107.9989
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 72.66486 107.9989 72.66486
111.99884 76.99805 111.99884 76.99805 107.9989 72.66486 107.9989
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 72.66486 107.9989 72.66486
111.99884 76.99805 111.99884 76.99805 107.9989 72.66486 107.9989
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 72.66486 107.9989 72.66486
111.99884 76.99805 111.99884 76.99805 107.9989 72.66486 107.9989
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 76.99805 107.9989 76.99805
111.99884 81.33124 111.99884 81.33124 107.9989 76.99805 107.9989
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 76.99805 107.9989 76.99805
111.99884 81.33124 111.99884 81.33124 107.9989 76.99805 107.9989
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 76.99805 107.9989 76.99805
111.99884 81.33124 111.99884 81.33124 107.9989 76.99805 107.9989
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 81.33124 111.99884 81.33124
115.99878 85.66443 115.99878 85.66443 111.99884 81.33124 111.99884
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 81.33124 111.99884 81.33124
115.99878 85.66443 115.99878 85.66443 111.99884 81.33124 111.99884
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 81.33124 111.99884 81.33124
115.99878 85.66443 115.99878 85.66443 111.99884 81.33124 111.99884
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 85.66443 111.99884 85.66443
115.99878 89.99762 115.99878 89.99762 111.99884 85.66443 111.99884
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 85.66443 111.99884 85.66443
115.99878 89.99762 115.99878 89.99762 111.99884 85.66443 111.99884
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 85.66443 111.99884 85.66443
115.99878 89.99762 115.99878 89.99762 111.99884 85.66443 111.99884
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 89.99762 111.99884 89.99762
115.99878 94.33081 115.99878 94.33081 111.99884 89.99762 111.99884
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 89.99762 111.99884 89.99762
115.99878 94.33081 115.99878 94.33081 111.99884 89.99762 111.99884
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 89.99762 111.99884 89.99762
115.99878 94.33081 115.99878 94.33081 111.99884 89.99762 111.99884
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 94.33081 111.99884 94.33081
115.99878 98.664 115.99878 98.664 111.99884 94.33081 111.99884   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 94.33081 111.99884 94.33081
115.99878 98.664 115.99878 98.664 111.99884 94.33081 111.99884   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 94.33081 111.99884 94.33081
115.99878 98.664 115.99878 98.664 111.99884 94.33081 111.99884   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 98.664 111.99884 98.664
115.99878 102.9972 115.99878 102.9972 111.99884 98.664 111.99884
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 98.664 111.99884 98.664
115.99878 102.9972 115.99878 102.9972 111.99884 98.664 111.99884
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 98.664 111.99884 98.664
115.99878 102.9972 115.99878 102.9972 111.99884 98.664 111.99884
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 102.9972 111.99884 102.9972
115.99878 107.33038 115.99878 107.33038 111.99884 102.9972 111.99884
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 102.9972 107.9989 102.9972
111.99884 107.33038 111.99884 107.33038 107.9989 102.9972 107.9989
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 102.9972 107.9989 102.9972
111.99884 107.33038 111.99884 107.33038 107.9989 102.9972 107.9989
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 107.33038 107.9989 107.33038
111.99884 111.66357 111.99884 111.66357 107.9989 107.33038 107.9989
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 107.33038 107.9989 107.33038
111.99884 111.66357 111.99884 111.66357 107.9989 107.33038 107.9989
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 107.33038 107.9989 107.33038
111.99884 111.66357 111.99884 111.66357 107.9989 107.33038 107.9989
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 107.33038 107.9989 107.33038
111.99884 111.66357 111.99884 111.66357 107.9989 107.33038 107.9989
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 111.66357 107.9989 111.66357
111.99884 115.99677 111.99884 115.99677 107.9989 111.66357 107.9989
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 111.66357 107.9989 111.66357
111.99884 115.99677 111.99884 115.99677 107.9989 111.66357 107.9989
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 111.66357 107.9989 111.66357
111.99884 115.99677 111.99884 115.99677 107.9989 111.66357 107.9989
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 115.99677 103.99896 115.99677
107.9989 120.32996 107.9989 120.32996 103.99896 115.99677 103.99896
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 115.99677 103.99896 115.99677
107.9989 120.32996 107.9989 120.32996 103.99896 115.99677 103.99896
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 115.99677 103.99896 115.99677
107.9989 120.32996 107.9989 120.32996 103.99896 115.99677 103.99896
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 115.99677 103.99896 115.99677
107.9989 120.32996 107.9989 120.32996 103.99896 115.99677 103.99896
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 120.32996 103.99896 120.32996
107.9989 124.66315 107.9989 124.66315 103.99896 120.32996 103.99896
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 120.32996 103.99896 120.32996
107.9989 124.66315 107.9989 124.66315 103.99896 120.32996 103.99896
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 120.32996 99.99902 120.32996
103.99896 124.66315 103.99896 124.66315 99.99902 120.32996 99.99902
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 120.32996 99.99902 120.32996
103.99896 124.66315 103.99896 124.66315 99.99902 120.32996 99.99902
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 120.32996 99.99902 120.32996
103.99896 124.66315 103.99896 124.66315 99.99902 120.32996 99.99902
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 124.66315 99.99902 124.66315
103.99896 128.99634 103.99896 128.99634 99.99902 124.66315 99.99902
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 124.66315 99.99902 124.66315
103.99896 128.99634 103.99896 128.99634 99.99902 124.66315 99.99902
 /Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 124.66315 95.99908 124.66315
99.99902 128.99634 99.99902 128.99634 95.99908 124.66315 95.99908
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 124.66315 95.99908 124.66315
99.99902 128.99634 99.99902 128.99634 95.99908 124.66315 95.99908
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 124.66315 95.99908 124.66315
99.99902 128.99634 99.99902 128.99634 95.99908 124.66315 95.99908
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 95.99908 128.99634
99.99902 133.32953 99.99902 133.32953 95.99908 128.99634 95.99908
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 91.99915 128.99634
95.99908 133.32953 95.99908 133.32953 91.99915 128.99634 91.99915
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 91.99915 128.99634
95.99908 133.32953 95.99908 133.32953 91.99915 128.99634 91.99915
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 91.99915 128.99634
95.99908 133.32953 95.99908 133.32953 91.99915 128.99634 91.99915
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 91.99915 128.99634
95.99908 133.32953 95.99908 133.32953 91.99915 128.99634 91.99915
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 87.9992 128.99634
91.99915 133.32953 91.99915 133.32953 87.9992 128.99634 87.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 87.9992 133.32953
91.99915 137.66272 91.99915 137.66272 87.9992 133.32953 87.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 87.9992 133.32953
91.99915 137.66272 91.99915 137.66272 87.9992 133.32953 87.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 87.9992 133.32953
91.99915 137.66272 91.99915 137.66272 87.9992 133.32953 87.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 83.99908 133.32953
87.99902 137.66272 87.99902 137.66272 83.99908 133.32953 83.99908
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 83.99908 133.32953
87.99902 137.66272 87.99902 137.66272 83.99908 133.32953 83.99908
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 83.99908 133.32953
87.99902 137.66272 87.99902 137.66272 83.99908 133.32953 83.99908
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 83.99908 133.32953
87.99902 137.66272 87.99902 137.66272 83.99908 133.32953 83.99908
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 79.99915 133.32953
83.99908 137.66272 83.99908 137.66272 79.99915 133.32953 79.99915
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 79.99915 133.32953
83.99908 137.66272 83.99908 137.66272 79.99915 133.32953 79.99915
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 79.99915 133.32953
83.99908 137.66272 83.99908 137.66272 79.99915 133.32953 79.99915
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 75.9992 133.32953
79.99915 137.66272 79.99915 137.66272 75.9992 133.32953 75.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 75.9992 133.32953
79.99915 137.66272 79.99915 137.66272 75.9992 133.32953 75.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 75.9992 133.32953
79.99915 137.66272 79.99915 137.66272 75.9992 133.32953 75.9992   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 71.99927 133.32953
75.9992 137.66272 75.9992 137.66272 71.99927 133.32953 71.99927   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 71.99927 133.32953
75.9992 137.66272 75.9992 137.66272 71.99927 133.32953 71.99927   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 71.99927 133.32953
75.9992 137.66272 75.9992 137.66272 71.99927 133.32953 71.99927   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 71.99927 133.32953
75.9992 137.66272 75.9992 137.66272 71.99927 133.32953 71.99927   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 67.99933 133.32953
71.99927 137.66272 71.99927 137.66272 67.99933 133.32953 67.99933
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 67.99933 133.32953
71.99927 137.66272 71.99927 137.66272 67.99933 133.32953 67.99933
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 67.99933 133.32953
71.99927 137.66272 71.99927 137.66272 67.99933 133.32953 67.99933
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 63.99939 133.32953
67.99933 137.66272 67.99933 137.66272 63.99939 133.32953 63.99939
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 63.99939 133.32953
67.99933 137.66272 67.99933 137.66272 63.99939 133.32953 63.99939
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 63.99939 133.32953
67.99933 137.66272 67.99933 137.66272 63.99939 133.32953 63.99939
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 59.99945 133.32953
63.99939 137.66272 63.99939 137.66272 59.99945 133.32953 59.99945
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 59.99945 133.32953
63.99939 137.66272 63.99939 137.66272 59.99945 133.32953 59.99945
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 59.99945 133.32953
63.99939 137.66272 63.99939 137.66272 59.99945 133.32953 59.99945
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 59.99945 133.32953
63.99939 137.66272 63.99939 137.66272 59.99945 133.32953 59.99945
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 55.99951 133.32953
59.99945 137.66272 59.99945 137.66272 55.99951 133.32953 55.99951
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 133.32953 55.99951 133.32953
59.99945 137.66272 59.99945 137.66272 55.99951 133.32953 55.99951
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 55.99951 128.99634
59.99945 133.32953 59.99945 133.32953 55.99951 128.99634 55.99951
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 51.99939 128.99634
55.99933 133.32953 55.99933 133.32953 51.99939 128.99634 51.99939
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 51.99939 128.99634
55.99933 133.32953 55.99933 133.32953 51.99939 128.99634 51.99939
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 51.99939 128.99634
55.99933 133.32953 55.99933 133.32953 51.99939 128.99634 51.99939
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 47.99945 128.99634
51.99939 133.32953 51.99939 133.32953 47.99945 128.99634 47.99945
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 47.99945 128.99634
51.99939 133.32953 51.99939 133.32953 47.99945 128.99634 47.99945
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 128.99634 47.99945 128.99634
51.99939 133.32953 51.99939 133.32953 47.99945 128.99634 47.99945
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 124.66315 47.99945 124.66315
51.99939 128.99634 51.99939 128.99634 47.99945 124.66315 47.99945
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 124.66315 43.99951 124.66315
47.99945 128.99634 47.99945 128.99634 43.99951 124.66315 43.99951
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 124.66315 43.99951 124.66315
47.99945 128.99634 47.99945 128.99634 43.99951 124.66315 43.99951
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 124.66315 43.99951 124.66315
47.99945 128.99634 47.99945 128.99634 43.99951 124.66315 43.99951
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 124.66315 43.99951 124.66315
47.99945 128.99634 47.99945 128.99634 43.99951 124.66315 43.99951
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 120.32996 39.99957 120.32996
43.99951 124.66315 43.99951 124.66315 39.99957 120.32996 39.99957
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 120.32996 39.99957 120.32996
43.99951 124.66315 43.99951 124.66315 39.99957 120.32996 39.99957
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 120.32996 39.99957 120.32996
43.99951 124.66315 43.99951 124.66315 39.99957 120.32996 39.99957
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 120.32996 39.99957 120.32996
43.99951 124.66315 43.99951 124.66315 39.99957 120.32996 39.99957
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 115.99677 35.99963 115.99677
39.99957 120.32996 39.99957 120.32996 35.99963 115.99677 35.99963
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 115.99677 35.99963 115.99677
39.99957 120.32996 39.99957 120.32996 35.99963 115.99677 35.99963
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 115.99677 35.99963 115.99677
39.99957 120.32996 39.99957 120.32996 35.99963 115.99677 35.99963
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 115.99677 35.99963 115.99677
39.99957 120.32996 39.99957 120.32996 35.99963 115.99677 35.99963
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 111.66357 35.99963 111.66357
39.99957 115.99677 39.99957 115.99677 35.99963 111.66357 35.99963
/Lineto /lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1
def x1 y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto
/n n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub
x12 x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11
sub Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos
add def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add
y11 Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 111.66357 31.9997 111.66357
35.99963 115.99677 35.99963 115.99677 31.9997 111.66357 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 111.66357 31.9997 111.66357
35.99963 115.99677 35.99963 115.99677 31.9997 111.66357 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 111.66357 31.9997 111.66357
35.99963 115.99677 35.99963 115.99677 31.9997 111.66357 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 107.33038 31.9997 107.33038
35.99963 111.66357 35.99963 111.66357 31.9997 107.33038 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 107.33038 31.9997 107.33038
35.99963 111.66357 35.99963 111.66357 31.9997 107.33038 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 107.33038 31.9997 107.33038
35.99963 111.66357 35.99963 111.66357 31.9997 107.33038 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 102.9972 31.9997 102.9972
35.99963 107.33038 35.99963 107.33038 31.9997 102.9972 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 102.9972 27.99976 102.9972
31.9997 107.33038 31.9997 107.33038 27.99976 102.9972 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 102.9972 27.99976 102.9972
31.9997 107.33038 31.9997 107.33038 27.99976 102.9972 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 98.664 27.99976 98.664
31.9997 102.9972 31.9997 102.9972 27.99976 98.664 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 98.664 27.99976 98.664
31.9997 102.9972 31.9997 102.9972 27.99976 98.664 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 98.664 27.99976 98.664
31.9997 102.9972 31.9997 102.9972 27.99976 98.664 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 94.33081 27.99976 94.33081
31.9997 98.664 31.9997 98.664 27.99976 94.33081 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 94.33081 27.99976 94.33081
31.9997 98.664 31.9997 98.664 27.99976 94.33081 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 94.33081 27.99976 94.33081
31.9997 98.664 31.9997 98.664 27.99976 94.33081 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 89.99762 27.99976 89.99762
31.9997 94.33081 31.9997 94.33081 27.99976 89.99762 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 89.99762 27.99976 89.99762
31.9997 94.33081 31.9997 94.33081 27.99976 89.99762 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 89.99762 27.99976 89.99762
31.9997 94.33081 31.9997 94.33081 27.99976 89.99762 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 85.66443 27.99976 85.66443
31.9997 89.99762 31.9997 89.99762 27.99976 85.66443 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 85.66443 27.99976 85.66443
31.9997 89.99762 31.9997 89.99762 27.99976 85.66443 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 85.66443 27.99976 85.66443
31.9997 89.99762 31.9997 89.99762 27.99976 85.66443 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 81.33124 27.99976 81.33124
31.9997 85.66443 31.9997 85.66443 27.99976 81.33124 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 81.33124 27.99976 81.33124
31.9997 85.66443 31.9997 85.66443 27.99976 81.33124 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 81.33124 27.99976 81.33124
31.9997 85.66443 31.9997 85.66443 27.99976 81.33124 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 76.99805 27.99976 76.99805
31.9997 81.33124 31.9997 81.33124 27.99976 76.99805 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 76.99805 27.99976 76.99805
31.9997 81.33124 31.9997 81.33124 27.99976 76.99805 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 76.99805 27.99976 76.99805
31.9997 81.33124 31.9997 81.33124 27.99976 76.99805 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 72.66486 27.99976 72.66486
31.9997 76.99805 31.9997 76.99805 27.99976 72.66486 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 72.66486 27.99976 72.66486
31.9997 76.99805 31.9997 76.99805 27.99976 72.66486 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 72.66486 27.99976 72.66486
31.9997 76.99805 31.9997 76.99805 27.99976 72.66486 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 68.33167 27.99976 68.33167
31.9997 72.66486 31.9997 72.66486 27.99976 68.33167 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 68.33167 27.99976 68.33167
31.9997 72.66486 31.9997 72.66486 27.99976 68.33167 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 68.33167 27.99976 68.33167
31.9997 72.66486 31.9997 72.66486 27.99976 68.33167 27.99976   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 63.99847 31.9997 63.99847
35.99963 68.33167 35.99963 68.33167 31.9997 63.99847 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 63.99847 31.9997 63.99847
35.99963 68.33167 35.99963 68.33167 31.9997 63.99847 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 63.99847 31.9997 63.99847
35.99963 68.33167 35.99963 68.33167 31.9997 63.99847 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 59.66528 31.9997 59.66528
35.99963 63.99847 35.99963 63.99847 31.9997 59.66528 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 59.66528 31.9997 59.66528
35.99963 63.99847 35.99963 63.99847 31.9997 59.66528 31.9997   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 59.66528 35.99963 59.66528
39.99957 63.99847 39.99957 63.99847 35.99963 59.66528 35.99963   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 55.33191 35.99963 55.33191
39.99957 59.6651 39.99957 59.6651 35.99963 55.33191 35.99963   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 55.33191 35.99963 55.33191
39.99957 59.6651 39.99957 59.6651 35.99963 55.33191 35.99963   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 55.33191 35.99963 55.33191
39.99957 59.6651 39.99957 59.6651 35.99963 55.33191 35.99963   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 50.99872 39.99957 50.99872
43.99951 55.33191 43.99951 55.33191 39.99957 50.99872 39.99957   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 50.99872 39.99957 50.99872
43.99951 55.33191 43.99951 55.33191 39.99957 50.99872 39.99957   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 50.99872 39.99957 50.99872
43.99951 55.33191 43.99951 55.33191 39.99957 50.99872 39.99957   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 50.99872 39.99957 50.99872
43.99951 55.33191 43.99951 55.33191 39.99957 50.99872 39.99957   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 46.66553 43.99951 46.66553
47.99945 50.99872 47.99945 50.99872 43.99951 46.66553 43.99951   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  [ 46.66553 43.99951 46.66553
47.99945 50.99872 47.99945 50.99872 43.99951 46.66553 43.99951   /Lineto
/lineto load def 1  setlinejoin false 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 /xx1 x1 def /yy1 y1 def x1
y1 /x1 x0 x1 add 2 div def /y1 y0 y1 add 2 div def x1 y1 moveto /n
n 2 sub def /drawArrows { x11 y11 0.5  1 gt { /Alpha y12 y11 sub x12
x11 sub atan def /ArrowPos 0.  def /Length x12 x11 sub y12 y11 sub
Pyth def /dArrowPos 0.5  abs def { /ArrowPos ArrowPos dArrowPos add
def ArrowPos Length gt { exit } if x11 Alpha cos ArrowPos mul add y11
Alpha sin ArrowPos mul add currentdict /ArrowInside known { ArrowInside
} if pop pop } loop }{ /ArrowPos 0.  def /dArrowPos 1.  1 gt {1.0 1.
1.0 add div }{ 0.5 } ifelse def 1.  cvi { /ArrowPos ArrowPos dArrowPos
add def x12 x11 sub ArrowPos mul x11 add y12 y11 sub ArrowPos mul y11
add currentdict /ArrowInside known { ArrowInside } if pop pop } repeat
} ifelse pop pop Lineto } def n { 4 copy /y11 ED /x11 ED /y12 ED /x12
ED drawArrows } repeat x1 y1 x0 y0 6 4 roll 2 copy /y11 ED /x11 ED
/y12 y0 def /x12 x0 def drawArrows /y11 y0 def /x11 x0 def /y12 yy1
def /x12 xx1 def drawArrows pop pop closepath } ifelse   gsave 0.2
0.2 1  setrgbcolor  1. .setopacityalpha  fill  grestore gsave 0.2 SLW
0  setgray  1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke
grestore end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 12.0 0.0 12.0 144.0    /Lineto /lineto
load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq { 0 0 /n
2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul exch 0.4
mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED
/Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 16.33319 0.0 16.33319 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 20.66638 0.0 20.66638 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 24.99957 0.0 24.99957 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 29.33276 0.0 29.33276 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 33.66595 0.0 33.66595 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 37.99915 0.0 37.99915 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 42.33234 0.0 42.33234 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 46.66553 0.0 46.66553 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 50.99872 0.0 50.99872 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 55.33191 0.0 55.33191 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 59.66528 0.0 59.66528 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 63.99847 0.0 63.99847 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 68.33167 0.0 68.33167 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 72.66486 0.0 72.66486 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 76.99805 0.0 76.99805 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 81.33124 0.0 81.33124 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 85.66443 0.0 85.66443 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 89.99762 0.0 89.99762 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 94.33081 0.0 94.33081 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 98.664 0.0 98.664 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 102.9972 0.0 102.9972 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 107.33038 0.0 107.33038 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 111.66357 0.0 111.66357 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 115.99677 0.0 115.99677 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 120.32996 0.0 120.32996 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 124.66315 0.0 124.66315 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 128.99634 0.0 128.99634 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 133.32953 0.0 133.32953 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 137.66272 0.0 137.66272 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 141.99591 0.0 141.99591 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 146.32928 0.0 146.32928 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 150.66248 0.0 150.66248 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 154.99567 0.0 154.99567 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 159.32886 0.0 159.32886 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 163.66205 0.0 163.66205 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 167.99524 0.0 167.99524 144.0    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 0.0 12.0 0.0    /Lineto /lineto
load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq { 0 0 /n
2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul exch 0.4
mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2 ED /x2 ED
/Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 3.99994 12.0 3.99994    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 7.99988 12.0 7.99988    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 11.99982 12.0 11.99982    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 15.99976 12.0 15.99976    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 19.99988 12.0 19.99988    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 23.99982 12.0 23.99982    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 27.99976 12.0 27.99976    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 31.9997 12.0 31.9997    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 35.99963 12.0 35.99963    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 39.99957 12.0 39.99957    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 43.99951 12.0 43.99951    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 47.99945 12.0 47.99945    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 51.99939 12.0 51.99939    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 55.99951 12.0 55.99951    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 59.99945 12.0 59.99945    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 63.99939 12.0 63.99939    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 67.99933 12.0 67.99933    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 71.99927 12.0 71.99927    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 75.9992 12.0 75.9992    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 79.99915 12.0 79.99915    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 83.99908 12.0 83.99908    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 87.9992 12.0 87.9992    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 91.99915 12.0 91.99915    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 95.99908 12.0 95.99908    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 99.99902 12.0 99.99902    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 103.99896 12.0 103.99896    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 107.9989 12.0 107.9989    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 111.99884 12.0 111.99884    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 115.99878 12.0 115.99878    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 119.99872 12.0 119.99872    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 123.99884 12.0 123.99884    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 127.99878 12.0 127.99878    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 131.99872 12.0 131.99872    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 135.99866 12.0 135.99866    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 139.9986 12.0 139.9986    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial
@setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.2 SLW 0  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def  [ 168.0 143.99854 12.0 143.99854    /Lineto
/lineto load def 1  setlinejoin false  NArray n 0 eq not { n 1 eq {
0 0 /n 2 def } if () length 0 gt { 1.5 2.  CLW mul add dup 1.4  mul
exch 0.4 mul neg add /arrowlength exch def 4 copy /y1 ED /x1 ED /y2
ED /x2 ED /Alpha y2 y1 sub x2 x1 sub Atan def ArrowA x1 Alpha cos arrowlength
mul add y1 Alpha sin arrowlength mul add /n n 1 sub def n { 4 copy
/y1 ED /x1 ED /y2 ED /x2 ED x1 y1 0.5  1 gt { /Alpha y2 y1 sub x2 x1
sub Atan def /ArrowPos 0.  def /dArrowPos 0.5  abs def 1.  cvi { /ArrowPos
ArrowPos dArrowPos add def x1 Alpha cos ArrowPos mul add y1 Alpha sin
ArrowPos mul add ArrowInside pop pop } repeat }{ /ArrowPos 0.  def
/dArrowPos 1. 1 gt {1.0 1. 1.0 add div }{0.5 } ifelse def 1.  cvi {
/ArrowPos ArrowPos dArrowPos add def x2 x1 sub ArrowPos mul x1 add
y2 y1 sub ArrowPos mul y1 add ArrowInside pop pop } repeat } ifelse
pop pop Lineto } repeat }{ ArrowA /n n 2 sub def n { Lineto } repeat
} ifelse CP 4 2 roll ArrowB L pop pop } if   gsave 0.2 SLW 0  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial @beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.5 SLW 1  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def   /t 0 def /t1 0.5 def /dt t1 t sub 199
div def /F@pstplot ((1-t)^6*(2.0)*(2.0)+6*t*(1-t)^5*(2.0-1.5)*(2.0)+15*t^2*(1-t)^4*(2.0+2)*(2.0)+
20*t^3*(1-t)^3*(2.0+6)*(2.0)+15*t^4*(1-t)^2*(2.0+5)*(2.0)+6*t^5*(1-t)*(2.0+1.5)*(2.0)+t^6*(2.0)*(2.0)|(1-t)^6*(2.0)*(2.0)+6*t*(1-t)^5*(2.0+2)*(2.0)+15*t^2*(1-t)^4*(2.0+5)*(2.0)+
20*t^3*(1-t)^3*(2.0+3)*(2.0)+15*t^4*(1-t)^2*(2.0-1)*(2.0)+6*t^5*(1-t)*(2.0-2)*(2.0)+t^6*(2.0)*(2.0))
tx@AlgToPs begin AlgToPs end cvx def /xy { F@pstplot 12.0 mul exch
12.0 mul exch } def  /ps@Exit false def xy moveto  199 1 sub { /t t
dt add def xy  dup 1.e30 12.0 mul gt { moveto }{ dup -1.e30 12.0 mul
lt { moveto }{ L } ifelse } ifelse  ps@Exit { exit } if } repeat ps@Exit
not { /t t1 def xy  dup 1.e30 12.0 mul gt { moveto }{ dup -1.e30 12.0
mul lt { moveto }{ L } ifelse } ifelse  } if     gsave 0.5 SLW 1  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial
@beginspecial @setspecial
 tx@Dict begin STP newpath /ArrowA { moveto } def /ArrowB { } def
/ArrowInside { } def  0.5 SLW 1  setgray  /ArrowA { moveto } def /ArrowB
{ } def /ArrowInside { } def   /t 0.5 def /t1 1 def /dt t1 t sub 199
div def /F@pstplot ((1-t)^6*(2.0)*(2.0)+6*t*(1-t)^5*(2.0-1.5)*(2.0)+15*t^2*(1-t)^4*(2.0+2)*(2.0)+
20*t^3*(1-t)^3*(2.0+6)*(2.0)+15*t^4*(1-t)^2*(2.0+5)*(2.0)+6*t^5*(1-t)*(2.0+1.5)*(2.0)+t^6*(2.0)*(2.0)|(1-t)^6*(2.0)*(2.0)+6*t*(1-t)^5*(2.0+2)*(2.0)+15*t^2*(1-t)^4*(2.0+5)*(2.0)+
20*t^3*(1-t)^3*(2.0+3)*(2.0)+15*t^4*(1-t)^2*(2.0-1)*(2.0)+6*t^5*(1-t)*(2.0-2)*(2.0)+t^6*(2.0)*(2.0))
tx@AlgToPs begin AlgToPs end cvx def /xy { F@pstplot 12.0 mul exch
12.0 mul exch } def  /ps@Exit false def xy moveto  199 1 sub { /t t
dt add def xy  dup 1.e30 12.0 mul gt { moveto }{ dup -1.e30 12.0 mul
lt { moveto }{ L } ifelse } ifelse  ps@Exit { exit } if } repeat ps@Exit
not { /t t1 def xy  dup 1.e30 12.0 mul gt { moveto }{ dup -1.e30 12.0
mul lt { moveto }{ L } ifelse } ifelse  } if     gsave 0.5 SLW 1  setgray
1. .setopacityalpha   1  setlinejoin 0  setlinecap stroke  grestore
end

@endspecial 0 TeXcolorgray
0 TeXcolorgray eop end
%%Trailer

userdict /end-hook known{end-hook}if
%%EOF